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

Защо не мога да стартирам lua скрипт в redis след рестартиране на redis?

Lua скриптовете от страна на сървъра не се записват или съхраняват от Redis. Те не са подобни на съхранените процедури, които можете да намерите в RDBMS.

Клиентите трябва да предоставят текста на скрипта поне за първото изпълнение на скрипта (т.е. да използват EVAL за първото изпълнение и EVALSHA за следващите извиквания). Като алтернатива можете също да използвате SCRIPT LOAD и SCRIPT EXISTS, може да е по-удобно в зависимост от ситуацията.

Това е малко по-сложно за обработка за приложението, но има предимства:прави сървъра Redis без състояние по отношение на скриптовете на Lua. Кодът на приложението (включително Lua скриптове) се управлява от страната на приложението. Не е необходимо да прилагате нещо на сървъра Redis, преди да заредите нова версия на приложението (дори ако скриптовете на Lua са се променили).

Това свойство е много полезно в контекста на разпределена инфраструктура за поддържане на зареждане на приложения в движение или разделяне от страна на клиента или Redis клъстер.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да използвате ключове за пространство от имена на redis, за да избегнете сблъсъци с имена?

  2. Използване на Redis за прилагане на влизане?

  3. Redis SYNC и EXEC

  4. delayed_jobs срещу resque срещу beanstalkd?

  5. как да проверя версията на екземпляра на redis?