近距離探索memcache緩存
memcache介紹
名字 類型 整理
key vachar utf8_general_ci
value text utf8_general_ci
使用場景
非持久化存儲:對數據存儲要求不高
分布式存儲:不適用單機
key-value存儲:格式簡單,不支持list,array等數據格式
安裝
方式
編譯安裝:Libevent Memcache
使用依賴管理工具yum、apt-get
PS:memcache和memcached的區別
memcached是memcache的升級版本
過程
壓縮包:libevent-1.2.tar.gz和memcached-1.2.0.tar.gz
yum install memcached
啟動:/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root
查看是否啟動進程:ps -ef | grep memcached
客戶端安裝:libmemcached-1.0.18.tar.gz memcached-2.2.0tgz
安裝Libmemcached
解壓libmemcached-1.0.18.tar.gz
編譯安裝:./configure --prefix=/usr/lib/libmemcached
make && make install
為php安裝memcached擴展
解壓memcached-2.2.0tgz
phpize
./configure --with-php-config=/usr/local/(php-config所在目錄) --with-libmemcached-dir=/usr/...(libmemcached所在目錄)
make && make install
修改配置文件:extension=memcached.so
數據類型及使用
系統類:
addServer:添加服務器
addServer:添加多臺服務器
getStatus:查看服務器狀態
getVersion:查看服務端版本號
數據類:
add(k,v,time) 新增數據,不會覆蓋 time為0代表永久生效
set(k,v,time) 新增數據,沒有則創建,有則覆蓋
delete(k) 刪除
flush() 刪除所有
replace()
increment(k,num) 每次自增num
decrement(k,num) 每次自減num
get(k) 獲取數據
進階類:
setMulti(arr,time) 一次性添加多條
deleteMulti(arr) 一次性刪除多條
getMulti() 獲取多條
getResultCode() 讀取操作編碼
getResultMessage 讀取操作結果
封裝memcached類
性能
擴展性
可調式
盡量簡便的操作,一個方法多種功能
結構
項目中使用memcached
即時生成緩存
提前生成緩存
永久緩存
註意事項
不要在單機模式中使用memcache
不要只使用memcached保存重要數據
定期查看緩存分布狀況和擊中情況
近距離探索memcache緩存