上我通過爲每個網站鍵要緩存值。Memcached的每個網站的服務器
例如:
如果我在網站上一組$memcached->set('somekey', 'somevalue')
和B網站叫$memcached->get('somekey')
,我得到了'somevalue'
。
如何阻止它?
上我通過爲每個網站鍵要緩存值。Memcached的每個網站的服務器
例如:
如果我在網站上一組$memcached->set('somekey', 'somevalue')
和B網站叫$memcached->get('somekey')
,我得到了'somevalue'
。
如何阻止它?
在memcache或memcached接口內沒有本地方式來執行此操作。
您必須手動將密鑰更改爲每個站點唯一。你可以通過在密鑰前面加上這個。例如,
$memcached->set($site_name . 'somekey', 'somevalue');
和
$memcached->get($site_name . 'somekey');
,你已經在你的代碼在每個站點的一種獨特的方式定義$site_name
。
您可能希望創建Memcache
或Memcached
(取決於擴展您正在使用),它覆蓋了各種getter和setter 自動添加站點特定的前綴擴展的類。
謝謝,但每個人都可以像獨特的一樣鍵入相同的鍵。例如,如果我輸入$ memcached-> set($ site_name。'somekey','somevalue');在網站A中,在網站B中,我可以輸入$ memcached-> set('site A name'。'somekey','someanothervalue');並改變網站的緩存..所以這不是好的方法。也許還有另一種方式?非常感謝你! –
正如我在另一個重複問題上回答的,唯一的解決方案是在他們自己的端口/ UNIX套接字上運行兩個Memcached守護進程,並讓每個站點連接到另一個。 – 2015-05-10 11:17:34