memcached介绍,安装与基本使用
Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提供動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。Memcached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程(daemon )是用C寫(xiě)的,但是客戶(hù)端可以用任何語(yǔ)言來(lái)編寫(xiě),并通過(guò)memcached協(xié)議與守護(hù)進(jìn)程通信。
memcached是一套分布式的快取系統(tǒng),當(dāng)初是Danga Interactive為了LiveJournal所發(fā)展的,但目前被許多軟件(如MediaWiki)所使用。這是一套開(kāi)放源代碼軟件,以BSD license授權(quán)釋出。
memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 為首開(kāi)發(fā)的一款軟件。現(xiàn)在已成為mixi、hatena、Facebook、Vox、LiveJournal等眾多服務(wù)中提高Web應(yīng)用擴(kuò)展性的重要因素。許多Web應(yīng)用都將數(shù)據(jù)保存到RDBMS中,應(yīng)用服務(wù)器從中讀取數(shù)據(jù)并在瀏覽器中顯示。但隨著數(shù)據(jù)量的增大、訪問(wèn)的集中,就會(huì)出現(xiàn)RDBMS的負(fù)擔(dān)加重、數(shù)據(jù)庫(kù)響應(yīng)惡化、網(wǎng)站顯示延遲等重大影響。
這時(shí)就該memcached大顯身手了。memcached是高性能的分布式內(nèi)存緩存服務(wù)器。一般的使用目的是,通過(guò)緩存數(shù)據(jù)庫(kù)查詢(xún)結(jié)果,減少數(shù)據(jù)庫(kù)訪問(wèn)次數(shù),以提高動(dòng)態(tài)Web應(yīng)用的速度、提高可擴(kuò)展性。
Memcached 的守護(hù)進(jìn)程(daemon )是用C寫(xiě)的,但是客戶(hù)端可以用任何語(yǔ)言來(lái)編寫(xiě),并通過(guò)memcached協(xié)議與守護(hù)進(jìn)程通信。但是它并不提供冗余(例如,復(fù)制其hashmap條目);當(dāng)某個(gè)服務(wù)器S停止運(yùn)行或崩潰了,所有存放在S上的鍵/值對(duì)都將丟失。
以下是 memcached 在 Windows 系統(tǒng)下的 x86/x64 版本的安裝方法。
命令提示符下運(yùn)行
安裝:
memcached -d install
memcached -d start
memcached -m 256m -d start
net start "Memcached Server"
卸載:
memcached -d stop
memcached -d remove
sc delete "Memcached Server"
memcached的基本設(shè)置:
-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 顯示幫助
add name[key] 0[標(biāo)志位] 60[time] 5[放入多大數(shù)據(jù)]
set name 0 60 5有的話(huà)更新
replace替換存在的key
append
prepend追加修改
incr key 增加數(shù)
decr key 減少數(shù)
delete key
flush_all全部清空
stats命令使用次數(shù)
memcached的基本概念
memcached是一個(gè)高效的,支持分布式的內(nèi)存對(duì)象緩存系統(tǒng),可以支持把各種數(shù)據(jù)到其管理的內(nèi)存中[數(shù)組,對(duì)象,基本數(shù)據(jù)類(lèi)型]
使用memcached的好處:
訪問(wèn)速度:數(shù)據(jù)庫(kù)<文件<內(nèi)存
安裝步驟:
1.下載memcached軟件
2.將memcached軟件拷貝到某個(gè)目錄,最好放在開(kāi)發(fā)環(huán)境目錄下,便于管理
3.安裝 memcached -d install
4.卸載使用 memcached -d uninstall
5.啟動(dòng)memcached服務(wù)
(1)直接通過(guò)界面啟動(dòng)該服務(wù)
(2)在控制臺(tái)啟動(dòng)memcached -d start
6.查看memcached服務(wù)是否啟動(dòng)成功。默認(rèn)端口11211
memcached的基本命令(安裝、卸載、啟動(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,最大好像是2G
-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顯示幫助
特別說(shuō)明:如果你的網(wǎng)站,需要memcached的內(nèi)存大于64M應(yīng)當(dāng)這樣啟動(dòng)
memcached -m 256m -d start
如果大于256m,就基于LRU(Least Recently Used)的算法自動(dòng)刪除不使用的緩存
如果你希望換一個(gè)端口:memcached -d -m30 -l 127.0.0.1 -p 9000 -d start[linux使用]
80 apche//IIS
21 ftp
23 telnet
3306 mysql
1521 oracle
1433 sql server
8080 tomcat
使用方法(CRUD)
telnet ? -------->memecached緩存系統(tǒng)
程序(1.通過(guò)memcache擴(kuò)展。2.通過(guò)memcached擴(kuò)展3.通過(guò)socket訪問(wèn)) ? ? -------->memcached緩存系統(tǒng)
1.連接到memcached :telnet 127.0.0.1 11211
2.add name 0 60 5 [說(shuō)明 add是指令名 name是key的名字(是以key/value形式存儲(chǔ)) 0是標(biāo)志 60表示數(shù)據(jù)存放60秒 5表示放入多大數(shù)據(jù)]
3.get name[獲取name的值]
4.set name 0 60 5[如果name存在則更新,不存在則添加]
5.刪除: delete key
6.replace替換,如果key不存在則會(huì)報(bào)錯(cuò)
7.append 追加
8.prepend 在前面添加?
eg:add name 0 60 5
? ?append name 0 60 3
? ?prepend name 0 60 5
9.incr增加:incr key 2[針對(duì)數(shù)字]
10.decr減少:decr key 3
11.flush_all全部清空
12.flush_all 900 :有效期900秒之內(nèi)的數(shù)據(jù)清空
13.stats:顯示命令操作次數(shù)
memcached的基本命令(當(dāng)memcached啟動(dòng)后,用于對(duì)memcached的管理數(shù)據(jù)和本身運(yùn)行狀態(tài)相關(guān)的命令)
linux下設(shè)置防火墻
iptables -a input -p 協(xié)議 -s 可以訪問(wèn)ip -dport 端口 -j ACCEPT
小結(jié)
小網(wǎng)站,pv值不大,不需要使用
變化頻繁,查詢(xún)頻繁,但是不一定寫(xiě)入數(shù)據(jù)庫(kù),適合使用
變化頻繁,但數(shù)據(jù)需要入庫(kù),且數(shù)據(jù)很重要,不適合使用
變化不頻繁,查詢(xún)頻繁,不管入不入庫(kù),都比較適合使用
轉(zhuǎn)載于:https://blog.51cto.com/xxzjzsj/1629855
總結(jié)
以上是生活随笔為你收集整理的memcached介绍,安装与基本使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: this、new、apply和call详
- 下一篇: 如何查询日志文件中的所有ip,正则表达式