Redis VS Memcached
創(chuàng)新互聯(lián)自成立以來(lái),一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、做網(wǎng)站、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開(kāi)發(fā)等基于互聯(lián)網(wǎng)的全面整合營(yíng)銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開(kāi)發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開(kāi)發(fā)工程師團(tuán)隊(duì)及專業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。通過(guò)對(duì)比學(xué)習(xí),可以加深理解組件的特性。下面兩段文字,摘自各自的官方文檔。
http://www.redis.io/
http://memcached.org/
Redis官方簡(jiǎn)介
Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
Memcached官方簡(jiǎn)介
Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API is available for most popular languages.
兩者主要有以下區(qū)別(也是redis更優(yōu)秀的地方)
redis可以用來(lái)做存儲(chǔ)(storge), 而memccached是用來(lái)做緩存(cache)
這個(gè)特點(diǎn)主要因?yàn)槠溆小背志没钡墓δ?
存儲(chǔ)的數(shù)據(jù)有”結(jié)構(gòu)”,對(duì)于memcached來(lái)說(shuō),存儲(chǔ)的數(shù)據(jù),只有1種類型--”字符串”,
而redis則可以存儲(chǔ)字符串,鏈表,哈希結(jié)構(gòu),集合,有序集合.
redis服務(wù)端支持高可用。
1.Redis安裝與啟動(dòng)
比memcached安裝還簡(jiǎn)單。
$ cd /usr/local/src $ wget http://download.redis.io/releases/redis-3.2.3.tar.gz $ tar xzf redis-3.2.3.tar.gz $ cd redis-3.2.3 #如果要執(zhí)行make test測(cè)試,需要安裝tcl $ yum install tcl $ make PREFIX=/usr/local/redis install $ cp /usr/local/src/redis-3.2.3/redis.conf /usr/local/redis/
工具列表
$ ls /usr/local/redis/bin/ redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
redis-benchmark 性能測(cè)試工具
redis-check-aof 日志文件檢測(cè)工(比如斷電造成日志損壞,可以檢測(cè)并修復(fù))
redis-check-dump 快照文件檢測(cè)工具,效果類上
redis-cli 客戶端
redis-server 服務(wù)端
redis 版hello world
$ /usr/local/redis/bin/redis-server $ /usr/local/redis/bin/redis-cli redis> set foo bar OK redis> get foo "bar"
2.配置文件(redis.conf)
由于redis比memcached功能更全,命令更多,配置參數(shù)也響應(yīng)更多。簡(jiǎn)單分類下
模塊 | 作用 | 參數(shù) |
INCLUDES | 包含 | |
NETWORK | 網(wǎng)絡(luò) | |
GENERAL | 公共 | daemonize no #默認(rèn)情況下redis 不是以守護(hù)進(jìn)程的模式運(yùn)行。 pidfile /var/run/redis.pid port 6379 logfile stdout logfile stdout |
REPLICATION | 復(fù)制 | slaveof <masterip> <masterport> #只在slave添加該參數(shù),用于創(chuàng)建一個(gè)鏡像服務(wù); masterauth <master-password> |
SNAPSHOTTING | 快照 將內(nèi)存中的數(shù)據(jù)刷寫(xiě)到磁盤(pán)上 | save <seconds> <changes> 觸發(fā)刷新操作 stop-writes-on-bgsave-error yes rdbcompression yes dbfilename dump.rdb repl-timeout 60 |
SECURITY | 安全 | #requirepass foobared 配置redis訪問(wèn)密碼的參數(shù) #rename-command 重命名或禁用某些命令 |
LIMITS | 限制 | maxclients 10000 #大并發(fā)連接數(shù),默認(rèn)為一萬(wàn),這個(gè)跟系統(tǒng)本身的 open-file-limit 有關(guān) maxmemory <bytes> maxmemory-policy |
APPEND ONLY MODE | appendfilename appendonly.aof #append file 的文件名稱 appendfsync everysec #append log AOF日志文件同步的頻率刷寫(xiě)磁盤(pán)的頻率 fsync() 請(qǐng)求操作系統(tǒng)馬上把數(shù)據(jù)寫(xiě)到磁盤(pán)上 Redis支持三種不同的模式: no:不要立刻刷,只有在操作系統(tǒng)需要刷的時(shí)候再刷。比較快。 always:每次寫(xiě)操作都立刻寫(xiě)入到aof文件。慢,但是最安全。 everysec:每秒寫(xiě)一次。折衷方案。 默認(rèn)的 "everysec" 通常來(lái)說(shuō)能在速度和數(shù)據(jù)安全性之間取得比較好的平衡。 no-appendfsync-on-rewrite no # 如果AOF的同步策略設(shè)置成 "always" 或者 "everysec",那么后臺(tái)的存儲(chǔ)進(jìn)程(后臺(tái)存儲(chǔ)或?qū)懭階OF日志)會(huì)產(chǎn)生很多磁盤(pán)I/O開(kāi)銷。 某些Linux的配置下會(huì)使Redis因?yàn)?fsync() 而阻塞很久。 目前對(duì)這個(gè)情況還沒(méi)有完美修正,甚至不同線程的 fsync() 會(huì)阻塞我們的 write(2) 請(qǐng)求。 為了緩解這個(gè)問(wèn)題,可以用下面這個(gè)選項(xiàng)。它可以在 BGSAVE 或 BGREWRITEAOF 處理時(shí)阻止 fsync()。 這就意味著如果有子進(jìn)程在進(jìn)行保存操作,那么Redis就處于"不可同步"的狀態(tài)。 這實(shí)際上是說(shuō),在最差的情況下可能會(huì)丟掉30秒鐘的日志數(shù)據(jù)。(默認(rèn)Linux設(shè)定) 如果有延遲的問(wèn)題那就把這個(gè)設(shè)為 "yes",否則就保持 "no",這是保存持久數(shù)據(jù)的最安全的方式。 auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb #AOF文件自動(dòng)重寫(xiě)。 | |
LUA SCRIPTING | LUA腳本 | |
REDIS CLUSTER | 集群 |
用于開(kāi)實(shí)例的集群模式 cluster-conf-file 設(shè)定了保存節(jié)點(diǎn)配置文件的路徑, 默認(rèn)值為 nodes.conf 。 cluster-node-timeout 15000 #節(jié)點(diǎn)互連超時(shí)的閥值 cluster-slave-validity-factor slave節(jié)點(diǎn)檢測(cè)因數(shù),開(kāi)始failover的超時(shí)時(shí)限是通過(guò)factor與timeout的乘積來(lái)確定的。 cluster-require-full-coverage <yes/no> : 如果某一些key space沒(méi)有被集群中任何節(jié)點(diǎn)覆蓋,集群將停止接受寫(xiě)入。 |
SLOW LOG | 日志 | #Redis慢查詢?nèi)罩究梢杂涗洺^(guò)指定時(shí)間的查詢。運(yùn)行時(shí)間不包括各種I/O時(shí)間。 例如:連接客戶端,發(fā)送響應(yīng)數(shù)據(jù)等。只計(jì)算命令運(yùn)行的實(shí)際時(shí)間(這是唯一一種命令運(yùn)行線程阻塞而無(wú)法同時(shí)為其他請(qǐng)求服務(wù)的場(chǎng)景 slowlog-log-slower-than 10000(單位微秒) #慢查詢?nèi)罩鹃L(zhǎng)度,這個(gè)長(zhǎng)度沒(méi)有限制。只要有足夠的內(nèi)存就行可以通過(guò) SLOWLOG RESET 來(lái)釋放內(nèi)存(當(dāng)一個(gè)新的命令被寫(xiě)進(jìn)日志的時(shí)候,最老的那個(gè)記錄會(huì)被刪掉。)。 slowlog-max-len 128 (ps:日志居然是在內(nèi)存里面的,) 對(duì)于虛擬內(nèi)存的使用, ### 警告!虛擬內(nèi)存在Redis 2.4是反對(duì)的。 ### 非常不鼓勵(lì)使用虛擬內(nèi)存??! 在2.6中 根本沒(méi)有其相關(guān)配置, |
LATENCY MONITOR | 監(jiān)控報(bào)告 | ... |
EVENT NOTIFICATION | 通知,消息隊(duì)列 | ... |
ADVANCED CONFIG | 高級(jí) | ... |
參考資源
http://weipengfei.blog.51cto.com/1511707/1217504
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前文章:redis演練(1)搭建redis服務(wù)-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://m.rwnh.cn/article46/djiohg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、云服務(wù)器、Google、企業(yè)建站、外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容