廣東品牌網(wǎng)站建設(shè)平臺(tái)深圳關(guān)鍵詞優(yōu)化平臺(tái)
Memcache介紹
1、特點(diǎn)
內(nèi)置存儲(chǔ)方式----------為了提高性能,memcached中保存的數(shù)據(jù)都存儲(chǔ)在memcache內(nèi)置的內(nèi)存存儲(chǔ)空間中。由于數(shù)據(jù)僅存在于內(nèi)存中,重啟操作系統(tǒng)會(huì)導(dǎo)致全部數(shù)據(jù)消失
簡單key/value存儲(chǔ)--------------服務(wù)器不關(guān)心數(shù)據(jù)本身的意義及結(jié)構(gòu),只要是可序列化數(shù)據(jù)即可。存儲(chǔ)項(xiàng)由“鍵、過期時(shí)間、可選的標(biāo)志及數(shù)據(jù)”四個(gè)部分組成;
不互相通信的分布式------------- memcached盡管是“分布式”緩存服務(wù)器,但服務(wù)器端并沒有分布式功能。 各個(gè)memcached不會(huì)互相通信以共享信息。那么,怎樣進(jìn)行分布式呢? 這完全取決于客戶端的實(shí)現(xiàn)。
2.服務(wù)框架
原理:
1.檢查客戶端的請(qǐng)求數(shù)據(jù)是否存在在mamcache中,如果存在。直接把請(qǐng)求數(shù)據(jù)返回,不在對(duì)數(shù)據(jù)庫進(jìn)行任何操作,路徑為1237。
2.如果請(qǐng)求數(shù)據(jù)不在memcached中,就去查數(shù)據(jù)庫,把從數(shù)據(jù)庫中獲取的數(shù)據(jù)返滬給客戶端,同時(shí)緩存一份數(shù)據(jù)在memcached中,路徑為1234576.
3.保持緩存的“新鮮性”,每次數(shù)據(jù)發(fā)生變化時(shí)(數(shù)據(jù)庫被修改,或者刪除的情況下),要同步更新數(shù)據(jù),確保用戶不會(huì)取到舊的數(shù)據(jù)。
3、Memcached的部署安裝
#安裝
yum -y install memcached
#啟動(dòng)服務(wù)
systemctl start memcached
#修改配置文件
vim /etc/sysconfig/memcached
PORT="11211" # 監(jiān)聽端口
USER="memcached" # 用戶
MAXCONN="1024" # 最大并發(fā)數(shù)
CACHESIZE="64" # 分配內(nèi)存大小
OPTIONS="" # 監(jiān)聽網(wǎng)絡(luò)地址
然后把ip地址發(fā)給開發(fā)人員,開發(fā)的會(huì)使用api接口連接memcached.
測試
yum install -y telnet #安裝telent,探測端口
Trying 192.168.20.141...
Connected to 192.168.20.141.
Escape character is '^]'.
set name 0 60 9 #設(shè)置名稱為name的key
zhangxiao #name的值
STORED #出現(xiàn)stored表示存儲(chǔ)成功
get name #查詢名稱為key的值
VALUE name 0 9
zhangxiao
END
quit #退出
Connection closed by foreign host.
參數(shù)解釋:
name:key的名字 自己定義
0:key的id號(hào),需要和其他的key不一樣
60:緩存過期時(shí)間,單位為秒,0為永遠(yuǎn)
9:字符串最大長度