memcached驱逐数据板,因为LRU在相应的大小板上运行。因此,即使内存缓存中有可用空间,密钥也会被逐出。
我想构建一个监控系统来检查由于slabing算法而过早地驱逐了哪些密钥。 我正在考虑创建一个系统,定期为memcached中插入的所有键点击memcached。我已经有一个记录系统,它将所有插入密钥记录到memcache中,这个日志数据存储在mongo中。
请建议我的方法是否正确或更好的选择?
答案 0 :(得分:0)
如果我们只讨论您的方法,那么它是可行的。但问题是,这种方法可能会损害你的应用程序的性能,因为它会持续点击Memcache并获取密钥。
就替代方案而言,可能存在三种替代驱逐政策,
1)最少使用
2)最近最少使用
3)基于优先级的驱逐
这些是 NCache 提供的驱逐策略,它是用于.NET和Java的企业级分布式缓存,还为ASP.NET和JSP会话提供快速可靠的存储。要了解有关这些驱逐政策的更多信息,请查看以下链接