當前位置:成語大全網 - 漢語詞典 - Memcache百度詞典

Memcache百度詞典

Redis、memcache、mongoDB從以下維度進行比較。

1,性能

兩者都比較高,性能應該不是我們的瓶頸。

壹般來說,在TPS中,redis和memcache差不多,但是比mongodb大。

2.操作方便

Memcache只有壹個數據結構。(鍵值)

Redis更豐富,在數據操作方面,redis更好,網絡IO次數更少,還提供了list,set,

散列等數據結構的存儲。

Mongodb支持豐富的數據表達、索引,最類似於關系數據庫,支持非常豐富的查詢語言。

3、內存空間的大小和數據的大小。

Redis在2.0版本之後加入了自己的VM特性,突破了物理內存的限制;您可以設置鍵值。

周期時間(類似於memcache)

Memcache可以修改最大可用內存,並采用LRU算法。Memcached代理軟件magent,如建立

10 4G Memcache集群相當於40G。magent-s 10.1.2 . 1-s 1.2 . 2:11211-b

10.1.2 . 3:14000 MongoDB適合存儲大量數據。它依賴操作系統VM進行內存管理,內存消耗也很嚴重。

不要和其他服務在壹起。

4.可用性(單點問題)

對於單點問題,

Redis,依托客戶端實現分布式讀寫;在主從復制中,每次從節點重新連接到主節點時,都依賴於integer。

快照,由於性能和效率問題,沒有增量復制,

所以單點問題比較復雜;不支持自動分片,它依賴於程序來設置壹致的哈希機制。

壹種替代方法是自己進行主動復制(多存儲),而不是redis本身的復制機制,或者將其改為

增量復制的方式(需要自己實現),壹致性問題和性能權衡

Memcache本身沒有數據冗余機制,沒有必要;為了防止故障,使用成熟的散列或環。

為了解決單點故障引起的抖動問題,提出了壹種算法。

MongoDB支持主從、replicaset(內部paxos選舉算法、自動故障恢復)和自動分片機制,為客戶端屏蔽了故障轉移和分段機制。

5.可靠性(持久性)

對於數據持久性和數據恢復,

Redis支持(snapshot,aof):依靠快照實現持久性,AOF增強了可靠性,但同時也影響了性能。

大聲地

不支持Memcache,通常用於緩存提高性能;

MongoDB從1.8版本開始采用binlog模式支持持久可靠性。

6.數據壹致性(交易支持)

Memcache使用cas來確保並發場景中的壹致性。redis事務支持較弱,只能保證事務中每個操作的連續執行。

MongoDB不支持事務。

7.數據分析

MongoDB內置了數據分析(mapreduce)功能,其他不支持。

8.應用場景

Redis:更多的性能運算和更少數據的運算。

Memcache:用於在動態系統中降低數據庫負載,提高性能;做緩存來提高性能(適合更多的讀寫)

少,對於大量的數據,可以使用分片)

MongoDB:主要解決海量數據的訪問效率問題。

表格比較:

內存數據庫

定義值時,數據類型應該是固定的。數據類型不是必需的。

有字符串,鏈表,集合和有序集。

虛擬內存不支持

過期策略支持支持

分布式主從,壹主壹從或壹主多從。

存儲數據安全性不支持保存到dump.rdb。

災難恢復不支持僅附加文件(aof)進行數據恢復。

表演

1,type-memcache和redis都是在內存中存儲數據,所以是內存數據庫。當然,memcache也可以用來緩存其他東西,比如圖片等等。

2.數據類型——Memcache在添加數據時指定數據的字節長度,而redis沒有。

3.虛擬內存——當物理內存用完時,可以將壹些長時間不用的值交換到磁盤上。

4.過期策略——Memcache在設置時指定,例如set key1 0 0 8,即永不過期。Redis可以連接

例如,設置到期時間,如到期名稱10。

5.分布式設置的memcache集群,使用magent作為主節點,多個從節點;Redis可以是主,也可以是從。椰子樹

有壹個主人和壹個奴隸。

6、存儲數據安全——斷電MemCache壞了,數據沒了;Redis可以定期保存到磁盤。

7、容災——memcache同上,redis丟失可以通過aof恢復。

Memecache端口11211。

yum -y安裝內存緩存

yum -y安裝php-pecl-memcache

/etc/init . d/memcached start memcached-d-P 111-u memcached-m 64-c 1024-P/var/run/memcached/memcached . PID

-d啟動壹個守護進程。

-p端口

-m分配的內存是m。

-c最大運行並發數-P memcache的pid

//0壓縮(是否MEMCACHE_COMPRESSED) 30秒過期時間

//刪除5是超時

$memcache =新的Memcache;$ memcache-& gt;連接(' 127.0.0.1 ',11211);$ memcache-& gt;集('名','楊',0,30);

如果(!$ memcache-& gt;添加('姓名','蘇珊',0,30)) {

//echo‘蘇珊是存在的’;} $ memcache-& gt;替換('名稱','獅子',0,300);echo $ memcache-& gt;get(' name ');

//$ memcache-& gt;刪除('名稱',5);

printf " stats \ r \ n " | NC 127 . 0 . 0 . 1 11211

Telnet本地主機11211 stat quit。

Redis的配置文件端口6379

/etc/Redis.conf啟動Redis。

Redis-server /etc/redis.conf插入壹個值。

Redis-cli設置test“phper . yang”來獲取鍵值。

Redis-cli get test關閉Redis。

Redis-cli關閉關閉所有

redis-cli -p 6379關閉& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

$ redis =新

redis();$ redis-& gt;連接(' 127.0.0.1 ',6379);$ redis-& gt;設置('測試',

hello World’);echo $ redis-& gt;get(' test ');Mongodb

Apt-get安裝mongo mongo可以進入shell命令行。

Pecl安裝mongo Mongodb類似於phpmyadmin操作平臺RockMongo。