我在 Redis 中有 2 套,一套是 hmset 制作的:
HMSET cars:1 make Ferrari model 458 color red topSpeed 202mph
然后:
SADD make:Ferrari 1
当我输入这个命令时:
SMEMBERS make:Ferrari
我得到“1”
然后我添加:geoadd carLoc 13.361389 38.115556 1
我正在尝试使用以下命令获取这两个集合的交集:georadius carLoc 13.361389 38.115556 1 store key1
我过滤了第一组并存储在另一组中,但我找不到将 SMEMBERS make:Ferrari
的结果存储到另一组并获得它们的交集的方法。谁能帮帮我?
最佳答案
如果问题是你想找到一个集合和一个 zset 的交集,那么没有本地方法可以做到这一点。我可以告诉您两种选择:
- 将
make:Ferrari
转换为 zset,选择一些任意权重 - 创建一个 lua 脚本以编程方式执行此操作
一般来说,如果完全有可能将该 key 转换为 zset,#1 会更容易做到。如果这不容易做到,那么考虑创建两个 key :一个是一组 make:Ferrari
,另一个是 zset z:make:Ferrari
并将第二个用于路口。
关于redis - 如何在redis中获得2组的交集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55675085/