Redis
 sql >> Base de données >  >> NoSQL >> Redis

redis lua script vs appels uniques

Oui, LUA le script est une meilleure solution en cas de EVALSHA appeler :

  • Vous travaillez avec redis asynchrone. Donc LUA vous aide à réduire le nombre de code et la lisibilité du code.
  • LUA le cas est plus rapide en raison de la réduction de la communication réseau.

Je pense que vous pouvez écrire votre code avec seulement 2 commandes. Vous n'avez pas besoin de exists dans votre code.

local path = KEYS[1]
local resourcesPrefix = ARGV[1]
local collectionsPrefix = ARGV[2]
local ret

set ret = redis.call('get',resourcesPrefix..path)
if ret then
   return ret
end  
set ret = redis.call('smembers',collectionsPrefix..path)
if ret then
   return ret
end  

return "notFound"