在 WordPress 使用 Memcached 來提高 WordPress 站點(diǎn)速度的時(shí)候,碰到最多的問題就是:同臺(tái)服務(wù)器上多個(gè) WordPress 網(wǎng)站怎么同時(shí)使用 Memcached?
數(shù)據(jù)互串如果同時(shí)將 WPJAM Basic 插件 template
目錄下的 object-cache.php
文件復(fù)制到 wp-content
目錄下來同時(shí)開啟 Memcached 緩存,可能會(huì)出現(xiàn)這樣的問題:
template
目錄下的 object-cache.php
文件復(fù)制到 wp-content
目錄下來同時(shí)開啟 Memcached 緩存,可能會(huì)出現(xiàn)這樣的問題:訪問一個(gè)網(wǎng)站會(huì)跳轉(zhuǎn)到另外一個(gè)網(wǎng)站,數(shù)據(jù)會(huì)串了。
這是怎么回事呢?這是因?yàn)?nbsp;object-cache.php
是使用 WordPress 的表前綴($table_prefix
)來區(qū)分不同站點(diǎn)在內(nèi)存中的緩存的。
如果你在同個(gè)服務(wù)器多個(gè) WordPress 網(wǎng)站的表前綴都相同,都是默認(rèn)的 wp_
,那么 object-cache.php
就無法區(qū)分是哪個(gè)站點(diǎn)了。
那么怎么解決呢?
怎么同時(shí)使用知道了問題,那么就非常好解決,有兩個(gè)解決方法:
1. 修改表前綴,讓不同的 WordPress 博客使用不同的表前綴。我開發(fā)了一個(gè) WordPress 數(shù)據(jù)庫(kù)表前綴修改器(https://tool.wpjam.com/change-prefix/),一鍵生成修改數(shù)據(jù)庫(kù)表前綴所需的SQL,讓你在 WordPress 修改表前綴之后能夠更加方便全站修改。
2. 如果修改表前綴不方便,我還提供了 WP_CACHE_KEY_SALT
這個(gè)緩存 key 鹽值的常量,你只需要在不同站點(diǎn)的 wp-config.php 文件定義不同的 WP_CACHE_KEY_SALT
值即可。
比如兩個(gè)站點(diǎn)分別定義為:
define('WP_CACHE_KEY_SALT', 'site1');
define('WP_CACHE_KEY_SALT', 'site2');
如果設(shè)置了還不行,可能你的 object-cache.php
不是最新版,那就下載一下最新版的 WPJAM Basic 插件,然后將 wpjam-basic/template/
目錄下的 object-cache.php
文件復(fù)制到 wp-content
目錄下。