选redis还是memcache

  • 时间:
  • 浏览:0
  • 来源:大发5分快乐8APP下载_大发5分快乐8APP官网

memcache使用多应用程序,主应用程序监听,worker子应用程序接受请求,执行读写,某些 过程中,可能居于锁冲突。

redis使用单应用程序,虽无锁冲突,但难以利用多核的价值形式提升整体吞吐量。

从某些 点上,mc会快某些。

 

最后总结一下:

不管是mc和redis,服务端集群越来越 盐晶 支持水平扩展,时要在客户端进行分片,这真是对调用方不须友好。可还也能 服务端集群也能支持水平扩展,会更完美某些。

不须期望redis做固化存储会比mysql做得好,不同的工具做每个人擅长的事情,把redis当作数据库用,可是我的设计八成是错误的。

 

可能可是我缓存场景,数据存放在数据库,缓居于redis,此时可能开启固化功能: 

缺点是,在redis挂了的过程中,可能数据库富含数据的修改,可能因为 redis重启后,数据库与redis的数据不一致。

 

怎样才能让,只读场景,可能允许某些不一致的业务场景,还也能 尝试开启redis的固化功能。

 

value是哈希,列表,集合,有序集合例如错综复杂的数据价值形式时,会选者redis,可能mc无法满足那先 需求。

最典型的场景,用户订单列表,用户消息,帖子评论列表等。

 

你知道那先 配置的云产品最适合你吗?

你知道怎样才能以最低价购买最高值的云产品吗?

关注山东云管家ygjdata,免费带走上云助力+专属云上运维

山东云管家是阿里云北方大区一级经销商,服务过的各行业客户上万+,值得信赖!

mc无法满足持久化的需求,只得选者redis。

怎样才能让,这里要提醒的是,真的使用对了redis的持久化功能么?

 

千万不须把redis当作数据库用:

(1)redis的定期快照不还也能保证数据不丢失

(2)redis的AOF会降低带宽,怎样才能让不还也能支持太久的数据量

优点是,redis挂了再重启,内存还也能 够快速恢复热数据,太久瞬时将压力压到数据库上,越来越 有4个 cache预热的过程。

redis盐晶 支持集群功能,还也能 实现主动克隆qq,读写分离。

redis官方也提供了sentinel集群管理工具,也能实现主从服务监控,故障自动转移,某些 切,对于客户端一定会 透明的,太久应用程序改动,也太久人工介入。

而memcache,要愿意实现高可用,时要进行二次开发,例如客户端的双读双写,可能服务端的集群同步。

怎样才能让,这里要提醒的是,大偏离 业务场景,缓存真的时要高可用么?

(1)缓存场景,某些某些事先 ,是允许cache miss

(2)缓存挂了,某些某些事先 还也能 通过DB读取数据

memcache把所有的数据存储在物理内存里。

redis有自己的VM机制,理论还也能 够存储比物理内存更多的数据,当数据超量时,会引发swap,把冷数据刷到磁盘上。

从某些 点上,数据量大时,mc会放慢某些。

 

纯KV,数据量非常大,并发量非常大的业务,使用memcache或许更适合。

这要从mc与redis的底层实现机制差异说起。

某些某些,时要认真剖析业务场景,高可用,算不算真的是对缓存的主要需求?

 

业务需求决定技术选型,当业务有可是我某些特点的事先 ,选者redis会更加适合。

 

memcache的value存储,最大为1M,可能存储的value很大,不还也能使用redis。

 

memcache使用预分配内存池的最好的依据管理内存,也能省去内存分配时间。

redis则是临时申请空间,可能因为 碎片。

从某些 点上,mc会放慢某些。

 

memcache使用非阻塞IO复用模型,redis也是使用非阻塞IO复用模型。

但可能redis还提供某些非KV存储之外的排序,聚合功能,在执行那先 功能时,错综复杂的CPU计算,会阻塞整个IO调度。

从某些 点上,可能redis提供的功能较多,mc会放慢某些。

 

memcache和redis是互联网分层架构中,最常用的KV缓存。不少同学在选型的事先 会纠结,到底是选者memcache还是redis。

 

真是redis比memcache更晚出来,且功能真是也更充裕,但对于有4个 技术人,了解“某些某些然”恐怕比“选者谁”更重要某些。