首页 > 其他 > 详细

redis——再补充

时间:2020-03-11 16:50:52      阅读:54      评论:0      收藏:0      [点我收藏+]

一、缓存的使用场景

缓存的使用场景:

  • 读密集型的应用;
  • 存在热数据的应用;
  • 对响应时效要求较高;
  • 对一致性要求不严格;
  • 需要实现分布式锁的时候;

不适合使用缓存的场景:

  • 读少
  • 更新频繁
  • 对一致性要求严格

二、redis与memcache

1、数据类型:都是键值对存储,但redis支持五种数据类型(String、List、Hash、Set、Sorted_Set);memcache仅支持String

2、线程模型:redis是单线程(fork子线程,不严格的单线程);不推荐在redis中存储较大内存,memcache是多线程的。

3、持久机制:redis提供两种持久机制(RDB+AOF);memcache仅用于缓存不支持持久化。

4、客户端:redis的客户端jedis是阻塞I/O,但提供连接池;memcache有很多客户端阻塞I/O,非阻塞I/O都有

5、高可用:redis提供多种集群方案(哨兵Sentinel、cluster);memcache不支持高可用模型。

6、队列支持:redis可实现队列和订阅模式;memcache不支持队列。

7、事务:redis是单线程的,所以单个指令是原子性(线程安全)的,一定程度上保证支持事务(ACID),但不是严格的事务安全(多个指令不保证原子性A);memcache与redis一样,单个指令是线程安全的,但说个指令不是原子性的,另外还不符合事务D:持久性

8、数据淘汰策略:redis采用近似LRU算法(随机算法+LRU算法)淘汰数据;memcache采用LRU算法淘汰数据。

9、内存分配:

 

redis——再补充

原文:https://www.cnblogs.com/wqff-biubiu/p/12462886.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!