redis 判断数组中的一个成员是否存在于集合中

现有数据

redis中现有的数据:

SADD key1 "aaa"
SADD key1 "bbb"
SADD key1 "ccc"
SADD key1 "ddd"

数组:

["ccc","ddd","eee"]

目的

判断数组中只要有一个元素是集合的成员则为true**

目前有两种想法:

1.使用交集

把数组存入临时集合temp

SADD temp "ccc"
SADD temp "ddd"
SADD temp "eee"

然后使用交集获取结果进行判断

SINTER key1 temp

2.使用遍历

2.1

获取集合key1的所有成员

SMEMBERS key1

然后遍历数据进行判断

for 集合key1的数据 {...}

2.2

直接遍历数组

for val in 数组 {
    SISMEMBER key1 val
}

_

这三个方法哪种好?或是还有别的更好的方法?
或者有没有类似数据库的SELECT ... IN (...)的查询方法?

阅读 4.8k
1 个回答

SISMEMBER key member
判断 member 元素是否是集合 key 的成员

这些文档里有的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题