Redis
 sql >> база данни >  >> NoSQL >> Redis

Mongodb пресичане с времеви диапазон

можете да използвате набори на redis за този случай на употреба:

Ако времевите интервали винаги са кратни на 15 минути, можете да направите това:

1) Имайте универсален комплект, съдържащ всички времеви слотове. Тук кратни на 15.

sadd universal 08:00 08:15 08:30 08:45 09:00 ...

2) За всеки член в екипа има отделен комплект за резервираните за него слотове. За член 1 08:15-08:50 трябва да го сгодиш до 09:00 .

sadd member_1 08:15 08:30 08:45 09:00

3) По същия начин направете и други членове. член 2 08:30-09:30

sadd member_2 08:30 08:45 09:00 09:30

4) Сега за всеки член можете да получите безплатните слотове с помощта на

sdiff universal member_1

5) За общите слотове безплатно. Трябва да направите две операции.

result = sinter member_1 member_2 ...
sdiff universal result

пресичането на целия набор от членове ще даде времеви интервали, в които всички потребители са заети. Така че не можете да разпределите тези слотове.

Извършването на операция на изваждане (разлика) с универсалния набор ще ви даде общите слотове, които могат да бъдат заети свободно.

Надявам се това да помогне.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как мога отдалечено да проверявам данните в моите RedisCloud DBs?

  2. Airflow CROSSSLOT Ключовете в заявката не хешират към същата грешка в слота с помощта на AWS ElastiCache

  3. ScaleGrid хостинг за Redis™ на вашия собствен акаунт в AWS

  4. Производителност на Redis срещу Disk в приложение за кеширане

  5. Как мога да получа понастоящем удостоверен потребител Принципал с пружинна сигурност и Redis в приложението за пролетно зареждане