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

Защо има KEYS и ARGV масиви при извикване на Redis Lua скриптове?

На всички ваши въпроси се отговаря в EVAL страница, но след като попитахте...:

Каква е разликата?

KEYS се използва за предаване на имена на ключове, докато ARGS трябва да е за всичко друго. Това не е точно наложено (т.е. повечето пъти е добре да ги смесвате), но може да доведе до потенциални проблеми, ако не се спазва.

Как Redis третира стойностите в масива KEYS?

Съдържанието на KEYS са проверени, за да се потвърди, че всички ключове са достъпни за Redis шарда, който изпълнява скрипта. Този механизъм е на разположение, за да позволи изпълняване на скриптове в разгръщане на Redis клъстер.

Ами ако в моя скрипт трябва да използвам ключове, динамично генерирани по време на изпълнение?

Вижте предишните отговори - това е изпълнимо, но бихте се противопоставили на препоръките. Вашият скрипт ще бъде безопасен за изпълнение само на самостоятелен екземпляр на Redis и тъй като това поведение не е посочено, може да се счупи в бъдещи издания.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да стартирам Redis сървър И друго приложение в Docker?

  2. Изпълнение на redis на nodejs Docker изображение

  3. Как да визуализирате използването на Resque с Node.js, WebSockets и Redis

  4. Има ли някакво ограничение за броя на аргументите, които командите на redis като ZADD или HMGET могат да обработват?

  5. Постоянни данни от Redis към MongoDB за съхранение на данни