hello
谢谢回复~
基于自己的使用场景,那我直接用module level级别的变量来共享吧,也不需要lru的特性了,(估计效率更高,😄)
另外还有一个问题想请教下:
1,从外部存储系统(比如db,redis)中在timer上下文定时获取数据,灌入shdict。shdict中数据需要和外部数据保持一致,而数据操作(增删改)都在redis里面搞,定时器同步到shdict。
2,这种方式,是不是每次都要把shdict清空,然后获取所有redis的数据再次写入?
3,想问下是否有效率更高的方式来做这件事情?(数据操作在redis,shdict需要和这些数据保持一致)
(这个问题和主题没有关系)
在 2017年4月17日星期一 UTC+8下午11:58:18,Yuansheng写道:
2017-04-17 19:55 GMT+08:00 keke fan
<3824...@qq.com>:
另外还有两个问题请教下:
1 用lrucache 和module level级别的变量 来实现worker内的共享,这两种方式有啥区别么,感觉用module level级别的变量也能搞。
lurcache:从名字上就知道使用了 lru 方式进行淘汰,可以进行缓存数量、时间的限制
module level:是不具备 lru 的那些高级特性的,但是胜在更加基础,lrucache 的实现机制主要是靠 module level 完成的。
目前它只导出了 new set get delete 方法。
清空方法没有直接提供,不过你可以通过自定义扩展一下,new 一个新对象,把旧的替换掉就好。
在 2017年4月17日星期一 UTC+8下午6:41:32,FQ Liu写道:没有API可以输出lrucache中的所有数据。
只能自己动手了。
在 2017年4月17日星期一 UTC+8下午6:34:49,keke fan写道:
hello:
目前有lrcache做worker内的共享,想看下lrucache中的所有数据是否与预期的一致,有啥方法可以输出么?lrucache的API好少。。。
--