在分布式服务器架构上缓存cakephp的问题

时间:2010-01-29 23:29:46

标签: php caching cakephp

我们一直在为cakephp应用程序使用多个Web服务器,

server architecture http://i48.tinypic.com/2czybts.jpg

问题是有两个缓存目录,服务器2在他的数据库中进行任何插入之前清除其缓存。 但是服务器1不知道有关数据库的更改,因此服务器1缓存未清除

当新的Web请求到达服务器2时,他会创建新的缓存文件并返回良好的结果。但是当谈到服务器1时,他显示了相同的旧结果:(。

我想知道我们是否可以在各种物理服务器之间共享缓存目录,而不会影响性能。

我们可能会增加网络服务器,因此请为此推荐良好的长期解决方案

感谢您阅读

2 个答案:

答案 0 :(得分:2)

我会考虑使用Memcache作为您的缓存机制。您可以在一台服务器上设置Memcache守护程序(memcached),然后将两台服务器连接到一个缓存。有关设置详细信息,请参阅core.php。当然你还必须安装memcache php ext和守护进程,但这是值得的。

答案 1 :(得分:1)

最简单的方法是设置要从nfs(文件)服务器提供的缓存目录。你不必改变其他任何东西。

对于性能,我也会像Bucho说的那样坚持使用Memcache,但它可能会要求你更改你的应用程序代码。

相关问题