हाँ, LUA
EVALSHA
. के मामले में स्क्रिप्ट सबसे अच्छा समाधान है कॉल करें:
- आप रेडिस एसिंक्रोनस के साथ काम कर रहे हैं। तो
LUA
आपको कोड की संख्या और कोड की पठनीयता को कम करने में मदद करता है। LUA
नेटवर्क संचार कम करने के कारण मामला तेज़ है।
मुझे लगता है कि आप अपना कोड सिर्फ 2 कमांड के साथ लिख सकते हैं। आपको exists
की आवश्यकता नहीं है आपके कोड में।
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"