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、消息系统。

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