我是redis的新手,所以这个问题可能很愚蠢,但是我试图在这里包围SINTER命令。
问题是我有多个SET,我试图在它们上创建一个INTER。 当我单独做它时我得到了结果,但是当我传递多个args时它返回空。我读了关于INTER的文档,它告诉我们提供的arg是否为空的SET它什么都不会返回,但是我的SET都是非空的,任何人都可以帮助我!
# below statement should return {'758', '762', '752'}
127.0.0.1:6379> SINTER Asset:all Asset:id:2275 Asset:id:2280 Asset:id:2269
(empty list or set)
127.0.0.1:6379> SINTER Asset:all Asset:id:2275
"758"
127.0.0.1:6379> SINTER Asset:all Asset:id:2280
"762"
127.0.0.1:6379> SINTER Asset:all Asset:id:2269
"752"
但SUNION,SDIFF等所有其他命令都正常工作。
答案 0 :(得分:0)
通过在集合上执行SUNION然后在新创建的集合
上执行SINTER来获得所需的行为127.0.0.1:6379> SUNION ~unionset Asset:id:2275 Asset:id:2280 Asset:id:2269
127.0.0.1:6379> SINTER Asset:all ~unionset
"758"
"762"
"752"