0 0

redis 作为缓存5

现在又一张表
字段
id 值 时间 外键
需求
需要按时间查询,倒序正序,或者是某时间段查询

现在我想把这个表里的数据放到redis 里该怎样存

我的想法是
用sorted set

key 为 外键 score 为 时间毫秒数 value 为id

id为 hash 的 key

这样可以实现需求 ,但 要想查询的时候得先从 set 里取出value 在循环 查询 这样会降低效率的如果查询的是100000条数据比直接用jdbc查mysql 慢一半,
可不可以一次查询都查出来啊

或者 在set 的value 直接存 hash

用 java的客户端jedis

哪位高手知道该怎么做啊 ,或者是别的想法,谢谢!


问题补充:我想要缓存数据,
如果是按查询条件为key value 为结果。
查询条件里面有时间,每次查询几乎都用不到,数据还是实时更新的。
2012年6月01日 15:37

3个答案 按时间排序 按投票排序

0 0

缓存数据啊,那个很麻烦的。
你要维护一个按照时间的反向索引表,每次数据更新时,更新这个表。

这不是redis能实现的功能

2012年6月01日 17:02
0 0

1.如果有了ID列表,可以使用in查询,效率比一条一条循环快很多。
2.可以把对象序列化存进去,取出来再反序列化

2012年6月01日 16:53
0 0

我的理解,应该按照查询条件在redis里做结果缓存就好了。

就是说,当输入一个时间查询条件,
用这个条件组合一个Key,访问redis,如果有记录,则可以使用

如果没有,则调用mysql,执行操作,然后把结果按照上面生成的key
存到redis里……

2012年6月01日 16:00

相关推荐

Global site tag (gtag.js) - Google Analytics