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

रेडिस, ZINCRBY के साथ एक zset के सभी स्कोर कैसे बढ़ाएं?

उसके लिए कोई आदेश नहीं है, ZINCRBY एक बार में केवल 1 सदस्य के लिए वृद्धि कर सकता है। तो यदि आप इसे परमाणु और तेज़ तरीके से पूरा करना चाहते हैं तो आपको लुआ स्क्रिप्ट करने की आवश्यकता है। जो कुछ इस तरह दिखना चाहिए (पहले आप क्रमबद्ध सेट के सभी सदस्यों को प्राप्त करें और फिर उनके माध्यम से पुनरावृति करें और स्कोर बढ़ाएं):

local zsetMembers = redis.call('zrange', KEYS[1], '0', '-1') 
for k,member in pairs(zsetMembers) do 
  redis.call('zincrby', KEYS[1], 1, member) 
end

और आप इस स्क्रिप्ट को EVAL . के साथ Redis पर पुश कर सकते हैं आदेश।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. लारवेल:रेडिस कोई कनेक्शन नहीं बनाया जा सका:[tcp://127.0.0.1:6379]

  2. कार्य नाम से अजवाइन कार्यों का निरीक्षण और रद्द कैसे करें

  3. नोड.जेएस वस्तुओं को रेडिस में संग्रहीत करता है

  4. रेडिस स्ट्रीम सभी उपलब्ध मेमोरी का उपयोग कैसे करती है?

  5. रेडिस में एकाधिक कुंजी की समाप्ति कैसे सेट करें