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

रेडिस INCRBY सीमा के साथ

यह उत्तर वह नहीं हो सकता है जिसकी आप अपेक्षा करते हैं। लेकिन मेरा कहना है कि लुआ स्क्रिप्टिंग क्रिस्टल स्पष्ट समाधान है।

-- range-incrby.lua key , increment
local key = KEYS[1]
local increment = ARGV[1]
local cnt = redis.call('get', key) or 0
cnt = cnt + increment
if (cnt >= 0 and cnt <= 100) then
    redis.call('set', key, cnt)
    return cnt
end

साथ ही, यदि श्रेणी [0, 2^N - 1] . है , तो आप BITFIELD . का उपयोग कर सकते हैं समस्या को हल करने के लिए अतिप्रवाह नियंत्रण के साथ आदेश।

BITFIELD key OVERFLOW FAIL INCRBY uN 0 increment

हालांकि, ऐसा लगता है कि आपका मामला नहीं है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या रेडिस डेटा जारी रखता है?

  2. अंतिम स्ट्रीम में async फ़ंक्शन के कॉलबैक की प्रतीक्षा करें। ('डेटा') घटना

  3. रेडिस:फैन आउट न्यूज फीड्स लिस्ट या सॉर्टेड सेट में?

  4. लार्वा के साथ प्रेडिस 5.5 एग्रीगेट/रेडिसक्लस्टर में पूल में कोई कनेक्शन उपलब्ध नहीं है। php:337

  5. GenericJackson2JsonRedisSerializer वर्ग और विशेषता पर ध्यान न दें