前提條件:安裝了memcache server以及rails的客戶端memcache-client
修改environment.rb:
找到config.action_controller.session_store = :active_record_store改為
config.action_controller.session_store = :active_record_store
然後再最後加上:
memcache_options = ",
:readonly => false,
:urlencode => false
}memcache_servers = [ '192.168.100.231:11211' ]
cache = memcache.new(memcache_options)
cache.servers = memcache_servers
actioncontroller::base.session_options[:cache] = cache
修改好後,以debug模式啟動memcahce server
/usr/local/weip/memcached-1.2.1/bin/memcached -vv -l 192.168.100.231 -p 11211 -m 256 -p /tmp/memcached.pid -u root
你會看到:
。。。。。。
<3 server listening
再啟動你的rails應用
訪問頁面,你會看到memcache server的確有動靜:
。。。。。。。。。。
slab class40: chunk size 504692 perslab 2
<3 server listening
<6 new client connection
<6 set mem-test:test 0 -1 84
>6 stored
<6 get mem-test:test
>6 end
<6 set mem-test:test 0 0 84
>6 stored
<6 get mem-test:test
>6 sending key mem-test:test
>6 end
上面示例出現的配置試你的機器而定
乙個奇怪的問題是:就算你不啟動memcacheserver,你的頁面也可以訪問成功,那麼你的session存在哪?
我檢視了/tmp/sessions,沒有任何動靜,(預設使用檔案系統儲存sessions時,這個資料夾會一直有檔案產生)我想只有可能是存在記憶體裡面了
Memcache使用教程
memcached是乙個自由開源的,高效能,分布式記憶體物件快取系統。memcached是以livejournal旗下danga interactive公司的brad fitzpatric為首開發的一款軟體。現在已成為mixi hatena facebook vox livejournal等眾多服務...
Memcache使用環境
使用memcache的 一般流量都是比較大的,為了緩解資料庫的壓力,讓memcache作為乙個快取區域,把部分資訊儲存在記憶體中,在前端能夠迅速的進行訪問。那麼一般的焦點就是集中在如何分擔資料庫壓力和進行分布式,畢竟單台memcache的記憶體容量的有限的。我這裡簡單提出我的個人看法,未經實踐,權當...
memcache基本使用
一 初次使用 import memcache mc memcache.client 192.168.252.128 11211 debug true 不寫埠用預設的 mc.set foo bar ret mc.get foo print ret 二 支援集群 如果使用者根據如果要在記憶體中建立乙個鍵...