2011-10-25 80 views
1

我有一個名爲userids的Redis集合,裏面有超過100,000個條目。Redis:我是否正確使用sismembers?

當我運行

redis-cli smembers userids | grep 12288357681 

它返回的值等:1324. 12288357681

這意味着,Redis的發現在設置用戶ID。

但是當我運行:

redis-cli sismember userids 12288357681 

它返回:(integer) 0

這意味着,Redis的沒有找到該組中的用戶ID。


這怎麼可能?我是否錯誤地使用sismember功能?

+0

當你grep與grep不一樣時顯示的ID。 – Theo

+0

@他固定了帖子。 grep是由我正確完成的。我錯誤地將它輸入到了stackoverflow文本框中,但是我在linux盒子上正確執行了它。 Redis服務器仍然存在問題 – eric

回答

1

也許存儲在您的設置中的值是1324. 12288357681而不是僅僅12288357681

檢查下面的測試:

[email protected]:~$ redis-cli 
redis 127.0.0.1:6379> sadd userids 12288357681 
(integer) 1 
redis 127.0.0.1:6379> exit 
[email protected]:~$ redis-cli smembers userids | grep 12288357681 
12288357681 
[email protected]:~$ redis-cli sismember userids 12288357681 
(integer) 1 

grep輸出,它是從你的不同。