最近想做一个优化,把经常get和update,但是又不太重要的数据,优先放到redis里面。然后每天定时把redis里有变化的数据update到数据库。从而减少存储服务的API调用。
目前我有3个leancache实例,其中2个用来存放数据。在第三个里面建立了2个hash表,用来记录前面2个leancache里面有变化的数据的KEY。当前面2个表数据有变化时候,第三个cache里面的对应hash表下对应的KEY值会累加1。
用于存放数据的2个leancache都是采用的allkeys-lru策略。
我现在每日定时对比第三个hash表里面需要update的key和前面2个数据表。然后再清除update-hash表。
目前发现问题:
首先前面2个leancache并没有装满的
每日定时的检测方法:
1.取出update-cache里面所有需要update的keys.
2.然后把keys传到数据存放的redis里面,查找对应的数据是否存在
但是在检测对比的时候
看了下2个存放数据的leancache里面的数据量,远远大于每日需要更新的数据量
依然会有数据对不上。想问一下可能是什么原因造成的?
-
创建时间
17年3月18日
-
最后回复
17年3月20日
-
1
回复
-
842
浏览
-
2
用户