美文网首页
缓存应用场景

缓存应用场景

作者: 为你变乖_09e6 | 来源:发表于2018-08-23 17:14 被阅读0次

缓存应用场景

ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享很麻烦,集群分布应用不方便。

redis是通过socket访问到缓存服务的,效率相对于echache低,但是比数据库要快很多,处理集群和分布式缓存比较方便,而且有成熟的解决方案。

如果是单个应用或者对缓存访问要求很高的应用,用echache。

如果是大型的系统,存在缓存共享、分布式部署、缓存内容很大的,建议用redis。

补充一下:echache也有缓存共享的方案,不过是通过RMI或者Jgroup多播的方式进行广播缓存、通知更新的,缓存共享比较复杂,维护不方便;简单的缓存共享可以,但是涉及到缓存恢复,大数据缓存,则不适合。

redis和mecached相比的独特之处:

1: redis可以用来做存储(storge), 而memccached是用来做缓存(cache)

2:  这个特点主要因为其有”持久化”的功能.

3: 存储的数据有”结构”,对于memcached来说,存储的数据,只有1种类型--”字符串”,而redis则可以存储字符串,链表,哈希结构,集合,有序集合

性能方面:没有必要过多的关心性能,因为二者的性能都已经足够高了。由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。说了这么多,结论是,无论你使用哪一个,每秒处理请求的次数都不会成为瓶颈。(比如瓶颈可能会在网卡)

内存使用效率:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。当然,这和你的应用场景和数据特性有关。

数据持久化:如果你对数据持久化和数据同步有所要求,那么推荐你选择Redis,因为这两个特性Memcached都不具备。即使你只是希望在升级或者重启系统后缓存数据不会丢失,选择Redis也是明智的。

数据结构:当然,最后还得说到你的具体应用需求。Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果你需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。

网络IO模型方面:Memcached是多线程,分为监听线程、worker线程,引入锁,带来了性能损耗。Redis使用单线程的IO复用模型,将速度优势发挥到最大,也提供了较简单的计算功能 

内存管理方面:Memcached使用预分配的内存池的方式,带来一定程度的空间浪费 并且在内存仍然有很大空间时,新的数据也可能会被剔除,而Redis使用现场申请内存的方式来存储数据,不会剔除任何非临时数据 Redis更适合作为存储而不是cache 

数据的一致性方面:Memcached提供了cas命令来保证.而Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断 

相关文章

  • 云数据库 Redis的应用与实践

    Redis缓存应用场景 对于查询较为频繁的数据,可以缓存至Redis中,以提高读取的性能; 场景概述 缓存应用实施...

  • 架构系列-缓存篇

    缓存是什么? 为什么要用缓存? 常用缓存有哪些?优缺点对比? 缓存的应用场景

  • redis 部分详解

    这里我们通过几个场景,不同维度说下Redis的应用。 高性能适合当做缓存 缓存是Redis最常见的应用场景,之所有...

  • 缓存应用场景

    缓存应用场景 ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享很麻烦,集群分布应用不方便。 r...

  • 14-redis

    前言 questions:1、缓存有哪些类型2、缓存的读写模式3、缓存的数据结构 Redis应用场景 缓存使用,减...

  • 使用Java操作Redis服务端

    Jedis JedisCluster Lettuce RedisTemplate 1、Redis应用场景 缓存热点...

  • JS 浏览器缓存

    缓存优点 根据缓存位置区分的四种缓存 缓存过程分析 缓存策略 缓存机制 实际应用场景 用户行为对浏览器缓存的影响 ...

  • 大型分布式系统中的缓存架构

    本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 缓存概述 缓存概述 缓存的分类 缓存主要...

  • 大型分布式系统中的缓存架构

    本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 缓存概述 缓存概述 缓存的分类 缓存主要...

  • 深入理解分布式系统中的缓存架构(上)

    本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 1 缓存概述 缓存概述 2 缓存的分类 ...

网友评论

      本文标题:缓存应用场景

      本文链接:https://www.haomeiwen.com/subject/gmemiftx.html