1.安裝memcached
Memcached是通過在內存裏維護一個統一的巨大的hash表,memcached能存儲各種各樣的數據,包括圖像、視頻(但是極不推薦來保存二進制文件)、文件、以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然後從內存中讀取,從而大大提高讀取速度。
參考我寫的關於docker創建memecached容器
windows下ThinkPHP3.2.3使用memcache緩存
2.創建memcached鏡像
docker run -di --name=“memcached” -m 256m -p 11211:11211 memcached:[tag]
-d是啓動一個守護進程;
-m是分配給Memcache使用的內存數量,單位是MB;
-u是運行Memcache的用戶;
-l是監聽的服務器IP地址,可以有多個地址;
-p是設置Memcache監聽的端口,,最好是1024以上的端口;
-c是最大運行的併發連接數,默認是1024;
3.測試並進入docker容器
測試是否啓動成功
netstat -luntp|grep 11211或者docker ps
安裝telnet
yum install -y telnet 或 sudo apt-get install telnet
通過telnet方式連接memcached
telnet 127.0.0.1 11211 或者使用 telnet ubuntu_ip docker_memcached_port
設置值,age是key,0是標誌位,900是生命週期,8代表所佔字節數,回車之後的10是value
set age 0 900 8
10
獲取值
get age
退出
exit
quit
4.telnet操作memcached:
1.添加數據
- set語法:
set key flas(是否壓縮,默認爲0,不壓縮) timeout value_length
value
示例:
set username 0 60 7
zhiliao
- add語法:
add key flas(0) timeout value_length
value
示例:
add username 0 60 7
xiaotuo
set和add的區別:add是隻負責添加數據,不會去修改數據。如果添加的數據的key已經存在了,則添加失敗,如果添加的key不存在,則添加成功。而set不同,如果memcached中不存在相同的key,則進行添加,如果存在,則替換。
2.獲取數據:get key_name
3.刪除數據:delete key_name
4.刪除memcached所有數據:flush_all
5. memcached安全性
memcached的操作不需要任何用戶名和密碼,只需要知道memcached服務器的ip地址和端口號即可。因此memcached使用的時候尤其要注意他的安全性。這裏提供兩種安全的解決方案。分別來進行講解:
1.使用-l參數設置爲只有本地可以連接:這種方式,就只能通過本機才能連接,別的機器都不能訪問,可以達到最好的安全性。
2.使用防火牆,關閉11211端口,外面也不能訪問