有如下场景,key:A,B,C,准备将他们的组合做key:
A: 1
B: 2
C: 3
AB: 4
AC: 5
BC: 6
ABC: 7
我想询匹配次数最多的key,比如我想查找A,C那么,排序后的结果:
AC
ABC
A
C
这样的在redis里怎么排序查找啊?还是我的设计就有问题啊?请教。
有如下场景,key:A,B,C,准备将他们的组合做key:
A: 1
B: 2
C: 3
AB: 4
AC: 5
BC: 6
ABC: 7
我想询匹配次数最多的key,比如我想查找A,C那么,排序后的结果:
AC
ABC
A
C
这样的在redis里怎么排序查找啊?还是我的设计就有问题啊?请教。
Redis 是轻查询的 NoSQL ,除了基于键名的查询,几乎没有其他的查询方式,不适合使用 Redis 做重查询的数据库,如果需要丰富的查询,建议使用 MongoDb , 相比较而言 Redis 更适合高速读写,没有过多逻辑依赖的缓存系统。
另外,你这个需求,可以把参与排序的数据放到同一个 hash 里,使用时读出所有数据,再在程序中进行排序。不过这只是个折衷的办法。
2 回答3.2k 阅读
1 回答1.9k 阅读✓ 已解决
2 回答1.3k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
1 回答664 阅读
814 阅读
Redis只支持一种模糊查询,那就是keys,根据关键字进行查询,其他的任何数据结构都不支持,所以你的需求单纯的通过Redis肯定是无法实现的。可以考虑其他NoSql产品,或者通过建立索引来实现。