Redis
johnllllll
这个作者很懒,什么都没留下…
展开
-
redis缓存穿透,缓存击穿,缓存雪崩以及缓存一致性
一、缓存穿透查询不存在的数据,请求会直接到数据库。解决:(1)缓存空值(2)布隆过滤器BloomFilter二、缓存击穿热点key突然失效,大量请求到达数据库解决:分布式锁三、缓存雪崩大部分key失效解决:设置逻辑过期时间错开物理过期时间public class RedisCache { Jedis jedis = new Jedis("redis://localhost:6379/9"); DbService db = new Db原创 2020-09-03 21:16:05 · 116 阅读 · 0 评论 -
Redis Cluster
一、搭建https://juejin.im/post/6844904057044205582二、槽位为什么取16384(1)如果槽位为65536,发送心跳信息的消息头达8k,发送的心跳包过于庞大。(2)redis的集群主节点数量基本不可能超过1000个。(3)槽位越小,节点少的情况下,压缩比高参考:https://www.cnblogs.com/rjzheng/p/11430592.html三、一致性hashhttps://juejin.im/post/68449035986原创 2020-09-03 12:17:40 · 54 阅读 · 0 评论 -
Redis——基本数据结构
Redis有5个基本数据结构,string、list、hash、set和zset一、String1、底层结构简单动态字符串(SDS):/* * 保存字符串对象的结构 */ struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度 int...原创 2019-03-25 12:35:39 · 151 阅读 · 0 评论 -
Redis——RDB和AOF持久化
一、RDB(RedisDataBase)每隔一段时间就将内存上的数据存到磁盘上。例:save 900 1 900秒内,对数据库进行了至少1次修改 save 300 10 300秒内,对数据库进行了至少10次修改 save 60 1000060秒内,对数据库进行了至少10000次修改Redis的周期性函数severCron默认...原创 2019-03-25 12:36:15 · 74 阅读 · 0 评论 -
Redis——过期删除键策略和内存淘汰机制
一、设置过期时间 EXPIRE key seconds //将key的生存时间设置为ttl秒 PEXPIRE key milliseconds //将key的生成时间设置为ttl毫秒 EXPIREAT key timestamp_s //将key的过期时间设置为timestamp所代表的的秒数的时间戳 PEXPIREAT key timestamp_ms //将key的过期时间...原创 2019-03-25 12:38:58 · 230 阅读 · 0 评论 -
Redis——实现分布式锁
一、SETNX加锁1、保证如果已有key存在,则函数不会调用成功,也就是只有一个客户端能持有锁,满足互斥性。2、由于我们对锁设置了过期时间,即使锁的持有者后续发生崩溃而没有解锁,锁也会因为到了过期时间而自动解锁(即key被删除),不会发生死锁。注意使用SET key value NX EX max-lock-time的原子性命令3、因为我们将value赋值为clientId,代表...原创 2019-03-25 12:36:54 · 116 阅读 · 0 评论 -
Redis——哨兵机制
复制:复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。哨兵:在复制的基础上,哨兵实现了自动故障迁移。结构图:哨兵的定时监控任务任务1:每个哨兵节点每10秒会向主节点和从节点发送info命令获取最拓扑结构图,哨兵配置时只要配置对主节点的监控即可,通过向主节点发送info,获取从节点的信息,并当有新的从节点加入时可以马上感知到任务2:每个哨兵节点每...原创 2019-09-19 23:09:04 · 117 阅读 · 0 评论 -
Redis主从复制
一、主从复制概述主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主从复制的作用主要包括:数据冗余:主从复制实现了数据...转载 2019-08-13 15:44:33 · 182 阅读 · 0 评论