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

रेडिस सूची में मूल्य के आधार पर किसी आइटम की अनुक्रमणिका प्राप्त करें

मैं इसके लिए नोडज क्लाइंट विवरण नहीं जानता, लेकिन निम्नलिखित लुआ में एक बहुत ही सरल इंडेक्सऑफ कमांड का कार्यान्वयन है।

मेरी फ़ाइल में indexof.lua मेरे पास निम्न कोड है:

local key = KEYS[1]
local obj = ARGV[1]
local items = redis.call('lrange', key, 0, -1)
for i=1,#items do
    if items[i] == obj then
        return i - 1
    end
end 
return -1

आइए कुछ मानों को mylist पर पुश करें ।

> rpush mylist foo bar baz qux
(integer) 4

हम सूची के भीतर किसी भी मूल्य के सूचकांक को खोजने के लिए लुआ स्क्रिप्ट का उपयोग कर सकते हैं। आदेश ओ (एन) है।

$ redis-cli --eval indexof.lua mylist , bar
(integer) 1

bar . की अनुक्रमणिका 1

. था
> lindex mylist 1
"bar"

nil . की अनुक्रमणिका है -1

$ redis-cli --eval indexof.lua mylist , nil
(integer) -1

EVAL कमांड पर आगे के दस्तावेज़ http://redis.io/commands/eval देखें।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्टैक एक्सचेंज। रेडिस टाइमआउट

  2. Redis zrevrangebyscore, शब्दावली क्रम के अलावा अन्य छँटाई

  3. सी # से स्टैक एक्सचेंज/सेंटिनल के साथ रेडिस विफलता

  4. रेडिस आईएनसीआर संगामिति

  5. रेडिस के साथ पूछताछ?