redis
夜雨落花
这个作者很懒,什么都没留下…
展开
-
Redis:丢弃策略
当Redis内存超过物理内存限制时,内存数据会和磁盘产生频繁的交换,让Redis的性能急剧下降。所以在生产环境,这种交换行为是不允许的。 maxmemory参数是用来配置最大内存大小的,如果超过了maxmemory,Redis提供了如下几种可选策略,用来设置maxmemory-policy。1、丢弃策略概览noeviction:不会继续服务处理del之外的写请求,读请求可...原创 2020-02-23 17:45:13 · 1211 阅读 · 0 评论 -
Redis:哨兵Sentinel
Redis提供了一种方案,用于在主节点故障时自动进行主从切换。1、Redis Sentinel Redis提供了Redis Sentinel集群,用于持续监控主从节点的监控:当客户端来连接集群时,会首先连接Sentinel,通过Sentinel获取主节点的地址,然后再连接主节点进行数据交互; 当主节点发生故障时,客户端会重新向Sentinel询问主节点地址,Sentin...原创 2020-01-06 17:07:56 · 153 阅读 · 0 评论 -
Redis:复制
Redis的主从数据是异步同步的,所以分布式的Redis系统并不满足一致性要求;但是当主节点中数据发生修改后,会不断的向从节点同步数据。即使网络断开了,从节点的数据出现不一致,但是当网络恢复后,从节点会继续同步数据,保证最终一致性。1、同步的渠道 Redis支持主从同步和从从同步。2、同步的方式2.1 增量同步 主节点会将对自己的状态产生修改性影响的指令记录...原创 2020-01-06 16:38:11 · 93 阅读 · 0 评论 -
Redis:Jedis连接池JedisPool
目录1、JedisPool的应用1.1 基本应用1.2 封装应用1.3 增加超时重试2、JedisPool配置2.1 工厂配置2.2 资源池配置 Jedis提供了连接池JedisPool。由于Jedis对象不是线程安全的,所以一般会从连接池中取出一个Jedis对象独占,使用完毕后再归还给连接池。 maven依赖:<!-- https://mv...原创 2020-01-06 15:56:12 · 2151 阅读 · 0 评论 -
Redis:分布式锁
分布式锁的本质,就是在Redis中给需要锁定的key设置一个值,这样在其他线程来访问的时候,发现这个key已经被设置了值,就会放弃或者等待。1、设置分布式锁 注意事项:要设置超时时间,以防止服务未能正常释放锁; 设置锁和设置超时时间的操作必须是原子性的,以防止设置锁后且设置超时时间前服务挂掉,导致锁一直被占领,不能被释放。 Redis可以通过如下方式原子性的设置...原创 2019-12-30 23:47:27 · 109 阅读 · 0 评论 -
Redis:数据类型和基本命令
目录1、string字符串1.1 键值对操作1.2 批量键值对操作1.3 过期1.4 计数2、list列表2.1 队列:反方向提交和获取2.2 栈:同方向提交和获取2.3 列表操作2.4 快速列表3、字典hash3.1 渐进式rehash3.2 设置操作3.3 查询操作3.4 获取集合3.5 删除操作3.6 单个字段的操作4、...原创 2019-07-03 15:17:50 · 116 阅读 · 0 评论 -
Redis:过期策略
1、过期策略 Redis有两种策略来删除过期的key:一种是将设置了过期时间的key放到一个集合中,定时遍历集合删除到期的key;另一种是使用惰性策略,在客户端访问这个key的时候,对key的过期时间进行检测,如果过期就立即删除。1.1 定时扫描策略 Redis默认每秒进行10次过期扫描,过期扫描不会遍历过期字典的所有的key,而是采用一种贪心策略:从过期字典随机选出2...原创 2019-12-31 18:18:06 · 350 阅读 · 0 评论 -
Redis:持久化方案
Redis的持久化有两种机制:快照,AOF日志。1、快照 快照是一种全量备份机制,是内存数据的二进制序列化形式,在存储上非常紧凑。 Redis的单线程程序,为了实现持久化的同时可以响应客户端请求的目的,Redis使用了操作系统的COW(Copy On Write)机制来实现快照持久化。1.1 Redis在持久化的过程调用glibc的函数fork产生一个子进程...原创 2019-12-30 23:25:59 · 165 阅读 · 0 评论