Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

रेडिस लुआ स्क्रिप्ट बनाम सिंगल कॉल

हाँ, 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" 


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस के साथ पूछताछ?

  2. Redis::CommandError:ERR क्लाइंट ने AUTH भेजा, लेकिन कोई पासवर्ड सेट नहीं किया गया

  3. फ्लास्क ढांचे में सर्वर पुश को कैसे कार्यान्वित करें?

  4. स्प्रिंग बूट फ्रेमवर्क पर JedisConnectionFactory बेस के टाइमआउट को कैसे कॉन्फ़िगर करें

  5. सॉकेट.आईओ रेडिस और मेमोरी लीक