1.介紹
memcache是乙個高效能的分布式的記憶體物件快取系統,通過在記憶體裡維護乙個統一的巨大的hash表,它能夠用來儲存各種格式的資料.簡單的說就是將資料呼叫到記憶體中,然後從記憶體中讀取,從而大大提高讀取速度,客戶端第一次使用應用程式的時候會從資料庫裡取出來返回給客戶端,這時就需要把資料儲存乙份到memcached中,到第二次使用時就不用去查詢資料庫了直接從memcached上取出來,從記憶體中讀取資料肯定是更快的
2.安裝
1. wget
2. tar -zxvf libevent-2.0.19-stable.tar.gz
3. cd libevent-2.0.19-stable
4. ./configure --prefix=/usr/local/libevent/
5. make
6. make install
7. ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /lib64/libevent-2.0.so.5
1. wget
2. tar -zxvf memcached-1.4.13.tar.gz
3. cd memcached-1.4.13
4. ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
5. make
6. make install
3.編寫啟動指令碼
vim /etc/init.d/memcached
1. #!/bin/sh
2. #
3. # startup script for the server of memcached
4. #
5. # processname: memcached
6. # pidfile: /usr/local/memcached/memcached.pid
7. # logfile: /usr/local/memcached/memcached_log.txt
8. # memcached_home: /etc/memcached
9. # chkconfig: 35 21 79
10. # description: start and stop memcached service
11.
12. # source function library
13. . /etc/rc.d/init.d/functions
14.
15. retval=0
16.
17. prog="memcached"
18. basedir=/usr/local/memcached
19. cmd=$/bin/memcached
20. pidfile="$basedir/$.pid"
21. #logfile="$basedir/memcached_log.txt"
22.
23. # 設定memcached啟動引數
24. ipaddr="192.168.1.101" # 繫結偵聽的ip位址
25. port="11211" # 服務埠
26. username="root" # 執行程式的使用者身份
27. max_memory=64 # default: 64m | 最大使用記憶體
28. max_simul_conn=1024 # default: 1024 | 最大同時連線數
29. #maxcon=51200
30. #growth_factor=1.3 # default: 1.25 | 塊大小增長因子
31. #thread_num=6 # default: 4
32. #verbose="-vv" # 檢視詳細啟動資訊
33. #bind_protocol=binary # ascii, binary, or auto (default)
34.
35. start()
42.
43. stop() '`
47. for pid in $pidlist
48. do
49. # echo "pid=$pid"
50. kill -9 $pid
51. if [ $? -ne 0 ]; then
52. return 1
53. fi
54. done
55. retval=$?
56. echo
57. [ $retval -eq 0 ] && rm -f /var/lock/subsys/$prog
58. }
59.
60. # see how we were called.
61. case "$1" in
62. start)
63. start
64. ;;
65. stop)
66. stop
67. ;;
68. #reload)
69. # reload
70. # ;;
71. restart)
72. stop
73. start
74. ;;
75. #condrestart)
76. # if [ -f /var/lock/subsys/$prog ]; then
77. # stop
78. # start
79. # fi
80. # ;;
81. status)
82. status memcached
83. ;;
84. *)
85. echo "usage: $0 "
86. exit 1
87. esac
88. exit $retval
chmod +x memcached
chkconfig --add memcached
chkconfig --level 35 memcached on
開啟檔案vim /etc/sysconfig/iptables 把埠加入防火牆
-a -input -p tcp -m tcp --dport
11211
-j accept
重啟防火牆
service iptables restart
啟動memcached
service memcached start
4.使用方法
#!/usr/bin/env python
import memcache
mc = memcache.client(['127.0.0.1:11211'],debug=0)
mc.set("foo","bar")
value = mc.get("foo")
print value
@set(key,val,time=0,min_compress_len=0)
無條件鍵值對的設定,其中的time用於設定超時,單位是秒,而min_compress_len則用於設定zlib壓縮(注:zlib是提供資料壓縮用的函式庫)
設定多個鍵值對,key_prefix是key的字首,完整的鍵名是key_prefix+key, 使用方法如下
>>> mc.set_multi(, key_prefix='pfx_') ==
>>> mc.get_multi(['k1', 'k2', 'nonexist'], key_prefix='pfx_') ==
@add(key,val,time=0,min_compress_len=0)
新增乙個鍵值對,內部呼叫_set()方法
@replace(key,val,time=0,min_compress_len=0)
替換value,內部呼叫_set()方法
@get(key)
根據key去獲取value,出錯返回none
@get_multi(keys,key_prefix='')
獲取多個key的值,返回的是字典。keys為key的列表
@delete(key,time=0)
刪除某個key。time的單位為秒,用於確保在特定時間內的set和update操作會失敗。如果返回非0則代表成功
@incr(key,delta=1)
自增變數加上delta,預設加1,使用如下
>>> mc.set("counter", "20")
>>> mc.incr("counter")
21@decr(key,delta=1)
自減變數減去delta,預設減1
memcached的使用方法和使用場景
memcache 快取 快取分類 儲存位置 1.檔案快取 2.記憶體快取 3.資料庫快取 實際開發很少用 快取分類 儲存資料的不同 1.頁面快取 2.區域性快取 3.變數快取 資料快取 memcache快取方式 1.記憶體快取 2.變數快取 資料快取 memcache特點 1.資料駐留在記憶體中 2...
pythonpip使用方法 pip使用方法整理
匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...
機械秒錶的使用方法 秒錶的使用方法!
秒錶是一種常用的測時儀器。又可稱 機械停表 由暫停按鈕 發條柄頭 分針等組成。它是利用擺的等時性控制指標轉動而計時的。它是利用擺的等時性控制指標轉動而計時的。在它的正面是乙個大表盤,上方有乙個小表盤 圖1.4 2 秒針沿大表盤轉動,分針沿小表盤轉動。分針和秒針所指的時間和就是所測的時間間隔。在表正上...