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

Прескачащи ключове за сканиране на Redis

Наистина! Това е, защото SCAN работи по този начин, цитирайки от документацията на Redis:

Въпреки това, докато блокиращите команди като SMEMBERS са в състояние да предоставят всички елементи, които са част от набор в даден момент, Семейството команди SCAN предлага само ограничени гаранции относно върнатите елементи, тъй като колекцията, която итерираме постепенно, може да се промени по време на процеса на итерация.

Въпреки това, тъй като SCAN има много малко свързано състояние (само курсора), то има следните недостатъци:Даден елемент може да бъде върнат няколко пъти. Приложението трябва да се справи със случая на дублирани елементи , например използвайки само върнатите елементи, за да изпълнявате операции, които са безопасни, когато се прилагат многократно.

Така че може да искате да използвате искате да използвате array_unique($keys) след foreach .

За да разберете защо итерацията работи по този начин, най-доброто нещо е да прочетете тази част от документацията на Redis .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изпълнение на пакети от команди с помощта на redis cli

  2. Пролетно зареждане с грешка в сериализацията на сесия/Redis с лоши идентификационни данни за Ldap на Active Directory

  3. каква е най-добрата стратегия за синхронизиране на данни между DB и redis кеша

  4. Автоматично довършване на Redis

  5. Конфигурирайте състоянието на сесията на Redis в Azure