安裝 在windows上安裝
略(都玩到緩存的程度了,就沒(méi)必要在windows上搗弄了)
給個(gè)參考: http://blog.csdn.net/yuhui_fish/article/details/7762299
memcached 依賴于 libevent 庫(kù),因此我們需要先安裝 libevent.
分別到 libevent.org 和 memcached.org 下載最新的 stable 版本(穩(wěn)定版).
先編譯 libevent ,再編譯 memcached,編譯 memcached 時(shí)要指定 libevent 的路徑.
yum install gcc make cmake autoconf libtool # 準(zhǔn)備編譯環(huán)境 tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure --prefix=/usr/local/libevent make && make install tar zxvf memcached-1.4.5.tag.gz cd memcached-1.4.5 ./configure--prefix=/usr/local/memcached --with-libevent=/usr/local/libevent make && make install
注意: 在虛擬機(jī)下練習(xí)編譯,一個(gè)容易碰到的問(wèn)題---虛擬機(jī)的時(shí)間不對(duì),
導(dǎo)致的 gcc 編譯過(guò)程中,檢測(cè)時(shí)間通不過(guò),一直處于編譯過(guò)程.
解決:
# date -s "yyyy-mm-dd hh:mm:ss" # clock -w # 把時(shí)間寫入 cmos命令行使用 啟動(dòng)服務(wù)
/usr/local/memcached/bin/memcached -m 64 -p 11211 -u nobody -vv # 把-vv換成-d就變成后臺(tái)運(yùn)行 # -m 指定默認(rèn)內(nèi)存為64Mmemcached的基本命令(安裝、卸載、啟動(dòng)、配置相關(guān))
-p 監(jiān)聽(tīng)的端口 -l 連接的IP地址, 默認(rèn)是本機(jī) -d start 啟動(dòng)memcached服務(wù) -d restart 重起memcached服務(wù) -d stop|shutdown 關(guān)閉正在運(yùn)行的memcached服務(wù) -d install 安裝memcached服務(wù) -d uninstall 卸載memcached服務(wù) -u 以的身份運(yùn)行 (僅在以root運(yùn)行的時(shí)候有效) -m 最大內(nèi)存使用,單位MB。默認(rèn)64MB -M 內(nèi)存耗盡時(shí)返回錯(cuò)誤,而不是刪除項(xiàng) -c 最大同時(shí)連接數(shù),默認(rèn)是1024 -f 塊大小增長(zhǎng)因子,默認(rèn)是1.25 -n 最小分配空間,key+value+flags默認(rèn)是48 -h 顯示幫助增刪改查
沒(méi)有客戶端,通過(guò)telnet 127.0.0.1 11211 ctrl + ] display 回車來(lái)玩,先設(shè)置后存入value;
添加語(yǔ)法: add key flag expire length
實(shí)例: add name 0 60 5
add 指令名 添加 key 給值取的一個(gè)唯一的名稱,如果一個(gè)key已經(jīng)存在,再放入是失敗的 flag memcached 基本文本協(xié)議,傳輸?shù)臇|西是理解成字符串來(lái)存儲(chǔ).也就是說(shuō)不管你往里面存入什么數(shù)據(jù),最終都是字符串來(lái)存儲(chǔ);所以我們一般把數(shù)組等數(shù)據(jù),序列化以后存入memcache,到取出來(lái)的時(shí)候,這個(gè)flag就決定是否要序列化; expire 有效期 length 緩存的長(zhǎng)度(單位為字節(jié))
expire:
設(shè)置緩存的有效期,有 3 種格式
設(shè)置秒數(shù), 從設(shè)定開(kāi)始數(shù),第 n 秒后失效.
時(shí)間戳, 到指定的時(shí)間戳后失效.比如在團(tuán)購(gòu)網(wǎng)站,緩存的某團(tuán)到中午 12:00 失效. add key 0 1379209999 6
設(shè)為 0. 不自動(dòng)失效.有種誤會(huì),設(shè)為 0,永久有效.錯(cuò)誤的.
編譯 memcached 時(shí),指定一個(gè)最長(zhǎng)常量,默認(rèn)是 30 天.所以,即使設(shè)為 0,30 天后也會(huì)失效.
可能等不到 30 天,就會(huì)被新數(shù)據(jù)擠出去.后續(xù)說(shuō)內(nèi)存機(jī)制的時(shí)候會(huì)細(xì)說(shuō)
刪除delete key [time]
刪除指定的 key. 如加可選參數(shù) time,則指刪除 key,并在刪除 key 后的 time 秒內(nèi),不允許get,add,replace 操作此 key.
flush_all [time]
在多少秒內(nèi)清空~沒(méi)有time參數(shù)的話就馬上清空
set name 0 60 5
和add不同,如果name存在就更新,如果不存在就是添加。
replace key flag expire length
必須在key存在的前提下才有更新。
incr/decr key num
incr,decr 命令:增加/減少值的大小
incr,decr 操作是把值理解為 32 位無(wú)符號(hào)來(lái)+-操作的. 值在[0-2^32-1]范圍內(nèi),也就是說(shuō)dec怎么減少都不會(huì)少于0;
append key 0 60 15
memcache存儲(chǔ)的是字符串,append就是追加新字符串到已存儲(chǔ)的KEY上
prepend key 0 60 15
在已有的key上加上新的value;
get key1 key2
獲取key的值,注意不支持get key*的方式
key | descrption |
---|---|
pid | memcache服務(wù)器的進(jìn)程ID |
uptime | 服務(wù)器已經(jīng)運(yùn)行的秒數(shù) |
time | 服務(wù)器當(dāng)前的unix時(shí)間戳 |
version | memcache版本 |
pointer_size | 當(dāng)前操作系統(tǒng)的指針大?。?2位系統(tǒng)一般是32bit) |
rusage_user | 進(jìn)程的累計(jì)用戶時(shí)間 |
rusage_system | 進(jìn)程的累計(jì)系統(tǒng)時(shí)間 |
curr_items | 服務(wù)器當(dāng)前存儲(chǔ)的items數(shù)量 |
total_items | 從服務(wù)器啟動(dòng)以后存儲(chǔ)的items總數(shù)量 |
bytes | 當(dāng)前服務(wù)器存儲(chǔ)items占用的字節(jié)數(shù) |
curr_connections | 當(dāng)前打開(kāi)著的連接數(shù) |
total_connections | 從服務(wù)器啟動(dòng)以后曾經(jīng)打開(kāi)過(guò)的連接數(shù) |
connection_structures | 服務(wù)器分配的連接構(gòu)造數(shù) |
cmd_get | get命令(獲取)總請(qǐng)求次數(shù) |
cmd_set | set命令(保存)總請(qǐng)求次數(shù) |
get_hits | 總命中次數(shù) |
get_misses | 總未命中次數(shù) |
evictions | 為獲取空閑內(nèi)存而刪除的items數(shù)(分配給memcache的空間用滿后需要?jiǎng)h除舊的items來(lái)得到空間分配給新的items) |
bytes_read | 總讀取字節(jié)數(shù)(請(qǐng)求字節(jié)數(shù)) |
bytes_written | 總發(fā)送字節(jié)數(shù)(結(jié)果字節(jié)數(shù)) |
limit_maxbytes | 分配給memcache的內(nèi)存大?。ㄗ止?jié)) |
threads | 當(dāng)前線程數(shù) |
功能靈活性相對(duì)redis要弱很多...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/61688.html
安裝PHP-memcache擴(kuò)展和安裝其他PHP擴(kuò)展的步驟是一樣的。 安裝 step 1:搜索下載擴(kuò)展 http://pecl.php.net/package/memcache step 2: gzip -d memcache-2.2.6.tgz tar xvf memcache-2.2.6.tar cd memcache-2.2.6 /usr/local/php/bin/phpize #可以先l...
摘要:五數(shù)據(jù)使用來(lái)存儲(chǔ)的效率是最高的。通過(guò)以上的策略數(shù)據(jù)庫(kù)的壓力將會(huì)被大大減輕。后續(xù)本專題也會(huì)討論一下的分布式算法提高其命中率應(yīng)用場(chǎng)景二秒殺功能。其實(shí),本場(chǎng)景嚴(yán)格的說(shuō)應(yīng)該也屬于場(chǎng)景一,單獨(dú)拎出來(lái)說(shuō)是由于其廣泛的應(yīng)用性。 簡(jiǎn)介 Memcached是一個(gè)高性能的分布式的內(nèi)存對(duì)象緩存系統(tǒng),目前全世界不少人使用這個(gè)緩存項(xiàng)目來(lái)構(gòu)建自己大負(fù)載的網(wǎng)站,來(lái)分擔(dān)數(shù)據(jù)庫(kù)的壓力,通過(guò)在內(nèi)存里維護(hù)一個(gè)統(tǒng)一的巨大的h...
摘要:以下正文的部分內(nèi)容來(lái)自程序員面試筆試寶典書籍,如果轉(zhuǎn)載請(qǐng)保留出處一什么是是一個(gè)開(kāi)源免費(fèi)高性能的分布式對(duì)象緩存系統(tǒng),它基于一個(gè)存儲(chǔ)鍵值對(duì)的來(lái)存儲(chǔ)數(shù)據(jù)到內(nèi)存中。預(yù)告面試??純?nèi)容之和將于本周三更新。 你好,是我琉憶。繼上周(2019.2-11至2-15)發(fā)布的PHP面試??純?nèi)容之面向?qū)ο髮n}后,發(fā)布的第二個(gè)專題,感謝你的閱讀。本周(2019.2-18至2-22)的文章內(nèi)容點(diǎn)為以下幾點(diǎn),更新時(shí)...
摘要:以下正文的部分內(nèi)容來(lái)自程序員面試筆試寶典書籍,如果轉(zhuǎn)載請(qǐng)保留出處一什么是是一個(gè)開(kāi)源免費(fèi)高性能的分布式對(duì)象緩存系統(tǒng),它基于一個(gè)存儲(chǔ)鍵值對(duì)的來(lái)存儲(chǔ)數(shù)據(jù)到內(nèi)存中。預(yù)告面試??純?nèi)容之和將于本周三更新。 你好,是我琉憶。繼上周(2019.2-11至2-15)發(fā)布的PHP面試常考內(nèi)容之面向?qū)ο髮n}后,發(fā)布的第二個(gè)專題,感謝你的閱讀。本周(2019.2-18至2-22)的文章內(nèi)容點(diǎn)為以下幾點(diǎn),更新時(shí)...
摘要:哈希的結(jié)果應(yīng)能夠保證原有已分配的內(nèi)容可以被映射到新的緩沖中去,而不會(huì)被映射到舊的緩沖集合中的其他緩沖區(qū)。平衡性平衡性是指哈希的結(jié)果能夠盡可能分布到所有的緩沖中去,這樣可以使得所有的緩沖空間都得到利用。 memcached分布式原理與實(shí)現(xiàn) 標(biāo)簽(空格分隔): nosql 0x01 概況 1.1 什么是memcached memcached是一個(gè)分布式,開(kāi)源的數(shù)據(jù)存儲(chǔ)引擎。memcach...
閱讀 2037·2021-11-12 10:36
閱讀 1904·2021-11-09 09:49
閱讀 2611·2021-11-04 16:12
閱讀 1157·2021-10-09 09:57
閱讀 3251·2019-08-29 17:24
閱讀 1924·2019-08-29 15:12
閱讀 1284·2019-08-29 14:07
閱讀 1298·2019-08-29 12:53