yjq907
2019-01-16 23:12
采纳率: 100%
浏览 1.1k
已采纳

redis 动态加载缓存字段

今日偶得一电话面试,有个问题困惑许久不得解,方求各路神仙求助!

问题描述:假设你有一套刚接手的项目,对其中各个表的访问量未知。现需要加上redis作为缓存。

**如何能够动态加载热点数据?
**
猜想:设计某个逻辑,用于记录各个方法或者各个表的读取、修改插入的次数。通过对读取和修改的比例进行排序,占比大的,就对此表做缓存处理,如占比低了,就取消缓存处理。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • oyljerry 2019-01-17 09:47
    已采纳

    可以一开始对所有数据库表访问后的数据存入redis,然后设置过期时间等,这样经过一定过期时间,留下来的就都是热数据,访问叫少的数据都过期,redis自动删除了

    打赏 评论
  • tavatimsa 2019-01-17 14:08

    我觉得你的思路都错了,频繁读取修改的不要做缓存,频繁查询的做缓存,一些不是频繁增加修改的反而应该缓存吧。

    打赏 评论
  • KiterCher 2019-01-17 14:34

    之前遇到过这样类型的问题,其实这个只是面试官想知道你对redis的淘汰策略的理解。redis在数据集大小达到一定大小之后就会自行淘汰。六种之中有一种淘汰策略就是:allkeys-lru 从数据集中挑选最近最少使用的数据淘汰; 这样redis里面保留的就是热点数据了。

    打赏 评论

相关推荐 更多相似问题