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