Nosql中Memcached與Redis區別與應用場景

前言:緩存的作用

Nosql中Memcached與Redis,基本作用都是利用緩存來緩解數據庫壓力,通過減少對數據庫的讀取,來提升應用性能
常用的邏輯也是
1.檢查熱點數據是緩存中是否有存在,如果緩存存在,只需要返回緩存中的數據即可,無需讀取數據庫。
2.如果熱點數據在緩存中找不到,此時去查詢數據庫。返回數據的同時,把熱點數據存儲到緩存中。
3.每當數據發生變化的時候(通常是修改以及刪除),要同步的更新緩存信息,確保用戶不會在緩存出現髒數據。

正文

Memcached與Redis區別:

1、首先Memcached是多核的,而Redis是單核的。
所以平均每一個核上Redis在存儲小數據時比 Memcached性能更高。但是當數據在100k以上,Memcached性能要高於Redis。

2、key value的大小:
Memcached單個key-value大小有限,一個value最大隻支持1MB,而Redis最大支持512MB 。

3、Memcached是內存緩存,沒有持久性,斷電重啓會丟失數據。而redis有持久性,斷電重啓不會大部分丟失數據,注意是大部分,不會丟失全部,具體請看redis持久性文檔。

4、MemCached數據結構單一,僅用來緩存數據,而Redis支持更加豐富的數據類型(string,list,hash,set,zset),也可以在服務器端直接對數據進行豐富的操作,這樣可以減少網絡IO次數和數據體積。

應用場景:

Memcached 非常適合處理高流量的網站。它可以一次性讀取大量的信息,並在優秀的反應時間內返回。Redis不但能處理高流量的讀,還能處理繁重的寫入。

Redis與Memcached相比,性能和內存使用情況相當相似。常見場景有1、緩存;2、排行榜;3、計數器;4、分佈式會話;5、分佈式鎖;6、 社交網絡;7、最新列表;8、消息系統。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章