我的 symfony 应用程序有大约 500 个在线用户,并且所有页面上都提供了一些文章列表。我将查询和结果存储在 APC 中,在某些数据更改时由管理员手动删除。问题是这样的:
如果我是正确的,如果我的 500 个用户中的每一个在缓存被删除时都刷新页面并尝试更新它(通过第一次查询数据库),那么其他 499 个用户在缓存完成之前会损害数据库。
如何避免这种情况? APC 中是否有任何选项可以阻止它,或者我需要手动管理它?如果新缓存尚未准备好,最好的选择应该是为旧缓存提供服务。
最佳答案
不幸的是,恐怕没有现成的解决方案。 如果您查看 Memcached Bundle,他们实现了一个解决方案来避免此问题:enter link description here
也许您可以启发编写自己的解决方案。
关于mysql - 如何在高流量应用时 'refresh' apc缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353489/