Memcached 的使用方法

2021-06-22 10:03:03 字數 4712 閱讀 7683

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 秒針沿大表盤轉動,分針沿小表盤轉動。分針和秒針所指的時間和就是所測的時間間隔。在表正上...