目前我試圖建立了Magento的生產環境具有以下設置:Magento的Memcached的會話
2個Web服務器,1個DB服務器,負載平衡器。
因此,負載平衡器將分配Web服務器之間的流量,但不會使用粘滯會話。
要解決服務器之間共享會話的問題,我選擇了使用Memcached。我在每臺Web服務器上運行一臺Memcached服務器,然後在每臺Web服務器的local.xml中指定memcached服務器的列表。
緩存正在工作,因爲我絕對注意到速度的增加,再加上我可以看到會話正在跨Web服務器共享。問題在於緩存工作得太好了。頁面的動態部分(例如購物車和消息)正在爲每個頁面完全緩存。
我注意到,您調用的將購物車放在頁面上的getChildHtml()具有一個名爲useCache的可選參數,我明確地在false中傳遞了這個參數,但這沒有任何作用。這裏是我的local.xml中的定義,以防萬一我做錯了什麼在那裏(敏感信息被忽略了):
<config>
<global>
<install>
<date></date>
</install>
<crypt>
<key></key>
</crypt>
<disable_local_modules>false</disable_local_modules>
<resources>
<db>
<table_prefix></table_prefix>
</db>
<default_setup>
<connection>
</connection>
</default_setup>
</resources>
<session_save><![CDATA[memcache]]></session_save> <!-- db/memcache/empty=files -->
<session_save_path><![CDATA[tcp://X.X.X.X:11211?persistent=1&weight=2&timeout=10&retry_interval=10]]></session_save_path><!-- e.g. for memcache session save handler tcp://10.0.0.1:11211?persistent=1&weight=2&timeout=10&retry_interval=10 -->
<session_cache_limiter><![CDATA[private]]></session_cache_limiter><!-- see http://php.net/manual/en/function.session-cache-limiter.php#82174 for possible values -->
<cache>
<backend>memcached</backend><!-- apc/memcached/xcache/empty=file -->
<slow_backend>database</slow_backend> <!-- database/file (default) - used for 2 levels cache setup, necessary for all shared memory storages -->
<slow_backend_store_data></slow_backend_store_data> <!-- 1/0 (default) - used for 2 levels cache setup, sets whether store data in db slow cache backend -->
<auto_refresh_fast_cache>1</auto_refresh_fast_cache> <!-- 1/0 (default) - used for 2 levels cache setup, sets whether refresh data in fast cache backend -->
<memcached><!-- memcached cache backend related config -->
<servers><!-- any number of server nodes can be included -->
<server>
<host><![CDATA[X.X.X.X]]></host>
<port><![CDATA[11211]]></port>
<persistent><![CDATA[1]]></persistent>
</server>
<server>
<host><![CDATA[X.X.X.X]]></host>
<port><![CDATA[11211]]></port>
<persistent><![CDATA[1]]></persistent>
</server>
</servers>
</memcached>
</cache>
</global>
<admin>
<routers>
<adminhtml>
<args>
<frontName><![CDATA[admin]]></frontName>
</args>
</adminhtml>
</routers>
</admin>
我也注意到其他奇怪的行爲,喜歡能清除管理面板上緩存管理屏幕上的緩存。在Magento中使用memcached時這是正常的,我該如何解決整個頁面被緩存的問題?
哪個Magento的版本? – B00MER 2011-06-06 18:18:41
最新的穩定版本是1.5.1.0。 – Dino 2011-06-06 18:36:45