मैं इसके लिए नोडज क्लाइंट विवरण नहीं जानता, लेकिन निम्नलिखित लुआ में एक बहुत ही सरल इंडेक्सऑफ कमांड का कार्यान्वयन है।
मेरी फ़ाइल में 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 देखें।