1. 程式人生 > >第二百九十三,Memcached緩存

第二百九十三,Memcached緩存

end hashmap libev 寫入 軟件 res 顯示 客戶 -c

Memcached 是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,並通過memcached協議與守護進程通信。

Memcached安裝和基本使用

Window下memcached安裝與測試步驟

下載好軟件包memcached-1.4.20版本

安裝步驟
1、解壓到指定目錄,如:E:\memcached
2、用cmd打開命令窗口,轉到解壓的目錄,輸入 “memcached -d install

”如下圖:

技術分享

查看是否安裝成功,輸入memcached –h,出現下圖窗口說明已經安裝成功。

技術分享

默認命令說明
-p 監聽的端口
-l 連接的IP地址, 默認是本機
-d start 啟動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在運行的memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服
-u 以的身份運行 (僅在以root運行的時候有效
-m 最大內存使用,單位MB。默認64M
-M 內存耗盡時返回錯誤,而不是刪除


-c 最大同時連接數,默認是102
-f 塊大小增長因子,默認是1.2
-n 最小分配空間,key+value+flags默認是4
-h 顯示幫助

linux安裝memcached

wget http://memcached.org/latest
tar -zxvf memcached-1.x.x.tar.gz
cd memcached-1.x.x
./configure && make && make test && sudo make install
 
PS:依賴libevent
       yum install libevent
-devel apt-get install libevent-dev

Memcached命令

存儲命令: set/add/replace/append/prepend/cas
獲取命令: get/gets
其他命令: delete/stats..

Python操作Memcached

安裝API模塊python-memcached

python-memcached屬於第三方模塊需要安裝

安裝好後,在命令終端啟動memcached並且配置python-memcached連接參數ip端口連接數內存大小等信息

memcached -d -m 10    -u root -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid     #配置連接
memcached -d -m 10    -u root -l 服務器ip -p 端口 -c 256 -P /tmp/memcached.pid       #配置連接說明
 
參數說明:
    -d 是啟動一個守護進程
    -m 是分配給Memcache使用的內存數量,單位是MB
    -u 是運行Memcache的用戶
    -l 是監聽的服務器IP地址
    -p 是設置Memcache監聽的端口,最好是1024以上的端口
    -c 選項是最大運行的並發連接數,默認是1024,按照你服務器的負載量來設定
    -P 是設置保存Memcache的pid文件

第一次操作

Client([ip:端口])創建memcache對象,配置連接memcache信息

set()通過memcache向內存寫入鍵值對,字符串
使用方式:memcache對象.set("鍵","值")

get()通過memcache在內存裏讀取寫入的鍵值對
使用方式:memcache對象.get(‘鍵‘)

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import memcache             #導入操作memcached軟件控制模塊

mc = memcache.Client([127.0.0.1:12000], debug=True)  #debug = True 表示運行出現錯誤時,顯示錯誤信息,上線後移除該參數。
mc.set("foo", "bar3333")
ret = mc.get(foo)
print(ret)
#輸出:bar3333

第二百九十三,Memcached緩存