中环+;用PHP实现本地缓存
我有一个多服务器设置,所有服务器运行相同的代码,需要共享相同的缓存。缓存的数据量巨大,并且位于单独的memcached服务器中 这确实有效,但memcached服务器速度较慢。慢意味着在最佳情况下大约需要0.3毫秒。这听起来很快,但APC要快得多,而且根据我的经验更可靠中环+;用PHP实现本地缓存,php,memcached,apc,Php,Memcached,Apc,我有一个多服务器设置,所有服务器运行相同的代码,需要共享相同的缓存。缓存的数据量巨大,并且位于单独的memcached服务器中 这确实有效,但memcached服务器速度较慢。慢意味着在最佳情况下大约需要0.3毫秒。这听起来很快,但APC要快得多,而且根据我的经验更可靠 构建一个只在本地存储所需数据、首先从APC读取数据并回退到memcached的缓存是很简单的。困难的问题是删除密钥并清除缓存。我曾考虑在每个节点中创建一个守护进程,并向所有节点广播delete和clear命令,但这会变得非常复杂
构建一个只在本地存储所需数据、首先从APC读取数据并回退到memcached的缓存是很简单的。困难的问题是删除密钥并清除缓存。我曾考虑在每个节点中创建一个守护进程,并向所有节点广播delete和clear命令,但这会变得非常复杂,而且速度非常快。尤其是由于CLI和FPM之间不共享APC。所以我的问题是这个问题已经解决了吗?我们有一个类似的设置。但我们的情况更多的是只读数据。但有时我们会在两级缓存中刷新数据 我们有一个脚本,可以一次性刷新两级缓存中的选定密钥。我们删除了memcache中的密钥,然后删除了集群中所有apc缓存中的密钥(直写方法)。因为我们的案例更多的是缓存只读数据,所以它工作得很好 也许你想试试这个 冲洗有两个组件:
因为php组件存在于服务器集群的所有节点中,我们知道任何给定实例的服务器列表。我们触发APC delete组件的一组curl调用。一般来说,是的。你能分享一下冲洗的技术细节吗?它是手动完成的还是有脚本?如果有,它看起来像什么?您将如何运行脚本?如何将脚本扩展到X台服务器?