MemCached的使用笔记
2008-06-27 10:58
323 查看
MemCached的使用筆記
當系統越來越多人使用,Scalability的問題就越來越重要了,在很多的系統中,瓶頸是出在Database,要解決這個問題,當然方法很多,Magic Multi-Connections是一個讓你使用Database的Duplicate功能,讓查詢分散在多台機器中,減輕系統的負載。那MemCached也是其中一種,將query的結果放在Ram中,當短時間內,有許多次的相同的query的時候,就可以直接從Ram中取出,而不需要一次又一次的query。
系統環境
我所使用的OS是RHEL 5,Ruby 1.8.5,Rails 1.2.3。
安裝Libevent
因為MemCached需要用到libevent,所以首先你需要到http://monkey.org/~provos/libevent/下載libevent-1.3b.tar.gz並解壓縮。
在libevent目錄中執行./configure –prefix=/usr & make & make install這樣,會將libevent存在/usr/lib中,我們就不用另外設定lib path了。
安裝MemCached
第一步當然是要到MemCached的官網去下載MemCached了。然後將下載下來的檔案解壓縮。
,然後到解壓縮的目錄中執行./configure –prefix=/usr/local/memcached & make & make install。
如果沒有錯誤訊息,那恭喜你,你安裝完成了。
啟動memcached服務
到目錄/usr/local/memcached/bin中,然後執行
./memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u root -c 512
-d 表示這是daemon,
-m 表示會使用幾MB的記憶體來存放資料,
-l表示會listen的IP位址,
-p則是所listen的port,
-u 啟動的user為誰,由於memcached預設不可以由root來啟動,所以你如果要用root來啟動,就要加。
-c 同時間可以有多少個connection。
安裝memcache-client
老方法:gem install memcache-client
Memcache 初始設定
我的方式是會建一個全域變數(CACHE),而所有的memcache access都透過他。所以在系統開始的時候就要建立,所以我把設定直寫在config/environment.rb中。
記得喔,這一段是要放在 Rails::Initializer.run do |config| … end 之外喔。
ps. 這一個設定是從thegiive的blog抄來的。
最簡單的測試
我在environment.rb中加了一行:
CACHE.set(“testkey”,“testvalue”,5)
然後我建了一個controller 就叫做Result。在result_controller中建立一個index method。
Class ResultController < ApplicationController
def index
value=CACHE.get(“testkey”)
if value!=nil
render :text=>”<h1>成功 : ”+value+”</h1>”
else
render :text=>”<h1>失敗</h1>”
end
end
然後啟動WEBrick,看看網址http://127.0.0.1/result的結果。
開機啟動Memcached
你可以建立一個sh檔案,放在/etc/rc.d/init.d中,我原本是建了一個最簡單的,裡面就一行:
/usr/local/memcached/bin/memcached -d -m 256 -l 127.0.0.1 -p 4130 -u root
我在網路上有找到一個很完整的,在http://www.mavenwire.com/resources/files/memcached
各位可以拿來改改,然後試試看。
你要一開機就執行的話,執行下列指令(要有root 權限喔)
chkconfig memcached on
然後你可以利用下列指令就啟動memcached
/etc/init.d/memcached start
當系統越來越多人使用,Scalability的問題就越來越重要了,在很多的系統中,瓶頸是出在Database,要解決這個問題,當然方法很多,Magic Multi-Connections是一個讓你使用Database的Duplicate功能,讓查詢分散在多台機器中,減輕系統的負載。那MemCached也是其中一種,將query的結果放在Ram中,當短時間內,有許多次的相同的query的時候,就可以直接從Ram中取出,而不需要一次又一次的query。
系統環境
我所使用的OS是RHEL 5,Ruby 1.8.5,Rails 1.2.3。
安裝Libevent
因為MemCached需要用到libevent,所以首先你需要到http://monkey.org/~provos/libevent/下載libevent-1.3b.tar.gz並解壓縮。
在libevent目錄中執行./configure –prefix=/usr & make & make install這樣,會將libevent存在/usr/lib中,我們就不用另外設定lib path了。
安裝MemCached
第一步當然是要到MemCached的官網去下載MemCached了。然後將下載下來的檔案解壓縮。
,然後到解壓縮的目錄中執行./configure –prefix=/usr/local/memcached & make & make install。
如果沒有錯誤訊息,那恭喜你,你安裝完成了。
啟動memcached服務
到目錄/usr/local/memcached/bin中,然後執行
./memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u root -c 512
-d 表示這是daemon,
-m 表示會使用幾MB的記憶體來存放資料,
-l表示會listen的IP位址,
-p則是所listen的port,
-u 啟動的user為誰,由於memcached預設不可以由root來啟動,所以你如果要用root來啟動,就要加。
-c 同時間可以有多少個connection。
安裝memcache-client
老方法:gem install memcache-client
Memcache 初始設定
我的方式是會建一個全域變數(CACHE),而所有的memcache access都透過他。所以在系統開始的時候就要建立,所以我把設定直寫在config/environment.rb中。
memcache_options compression false debug false namespace readonly false urlencode false memcache_servers cache_params memcache_servers memcache_options.flatten CACHE MemCache.new cache_params
記得喔,這一段是要放在 Rails::Initializer.run do |config| … end 之外喔。
ps. 這一個設定是從thegiive的blog抄來的。
最簡單的測試
我在environment.rb中加了一行:
CACHE.set(“testkey”,“testvalue”,5)
然後我建了一個controller 就叫做Result。在result_controller中建立一個index method。
Class ResultController < ApplicationController
def index
value=CACHE.get(“testkey”)
if value!=nil
render :text=>”<h1>成功 : ”+value+”</h1>”
else
render :text=>”<h1>失敗</h1>”
end
end
然後啟動WEBrick,看看網址http://127.0.0.1/result的結果。
開機啟動Memcached
你可以建立一個sh檔案,放在/etc/rc.d/init.d中,我原本是建了一個最簡單的,裡面就一行:
/usr/local/memcached/bin/memcached -d -m 256 -l 127.0.0.1 -p 4130 -u root
我在網路上有找到一個很完整的,在http://www.mavenwire.com/resources/files/memcached
各位可以拿來改改,然後試試看。
你要一開機就執行的話,執行下列指令(要有root 權限喔)
chkconfig memcached on
然後你可以利用下列指令就啟動memcached
/etc/init.d/memcached start
相关文章推荐
- memcached使用笔记
- Memcached理解笔记3---Memcached使用总结
- Memcached笔记——(三)Memcached使用总结
- Memcached使用笔记
- WINDOWS SERVER 2008下面使用Memcached笔记
- Memcached笔记——(三)Memcached使用总结
- Memcached笔记——(三)Memcached使用总结
- Memcached 笔记与总结(4)memcache 扩展的使用
- Memcached笔记——(三)Memcached使用总结
- Memcached笔记——(三)Memcached使用总结
- Memcached学习笔记——windows上初步使用
- Memcached学习笔记——windows上初步使用(与java结合)
- memcached的配置和spymemcached的使用笔记
- mysql中使用UDF自动同步memcached效率笔记
- Memcached笔记——(三)Memcached使用总结
- Memcached学习笔记——windows上初步使用(与java结合)
- Memcached笔记——(三)Memcached使用总结
- memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
- Memcached学习笔记——windows上初步使用(与php结合)