hshuo
hshuo
全部文章
Redis
DDD 领域驱动(1)
Docker(12)
Dubbo(11)
Java基础(7)
JUC(11)
Maven(2)
MySQL(6)
SpringBoot(4)
SpringCloud(9)
SpringCloud Alibaba(3)
微服务常见概念(1)
数据结构(10)
未归档(2)
杂文(2)
算法(6)
计算机操作系统(8)
计算机网络(7)
设计模式(10)
归档
标签
去牛客网
登录
/
注册
hshuo的博客
多听、多学、多记、多写
全部文章
/ Redis
(共10篇)
哈希槽分区
来自专栏
背景 redis 配置集群就是使用的 哈希槽分区 目的 为了解决一致性哈希算法的数据倾斜问题,解决数据均匀分配,在数据和节点之间又加入一层,把这层称为哈希槽(slot),用于管理数据和节点之间的关系。 哈希槽实质就是一个数组,数组[0, 2^14-1]形成hash slot空间。 ...
哈希槽分区
2022-11-13
0
552
Redis集群
来自专栏
哨兵机制 哨兵机制是实现主从库自动切换的关键机制,有效地解决了主从复制模式下故障转移的问题 哨兵机制的基本流程 监控: 指哨兵在进程运行时,会周期性的给所有主从库发送 PING 命令,来检测他们是否仍在运行 如果没有在规定的时间内响应哨兵的 PING 命令,哨兵就会把它标记为“下线状态” ...
哨兵机制
2022-09-25
1
427
Redis 实现分布式锁
来自专栏
分布式锁 可以通过使用同一个变量实现;加锁时候判断锁变量的值,根据锁变量的值来判断是否加锁成功;释放锁时需要把锁变量值设置为 0,表明客户端不再持有锁 加锁和释放锁的操作也就是读取、判断、设置锁变量的值的过程 要求 分布式锁的加锁和释放锁的过程,涉及多个操作。所以在实现分布式锁时,我们需要保...
Redis实现分布式锁
2022-09-12
1
424
Redis 实现消息队列
待补充 有赞延迟队列设计 Redis核心技术与实战 15 | 消息队列的考验:Redis有哪些解决方案? SpringBoot+EasyPoi+Redis消息队列实现Excel批量异步导入数据库
redis实现消息队列
2022-09-12
0
333
redis如何实现数据的一致性
来自专栏
为什么是删除缓存值而不是更新缓存值? 数据一致性问题 无论是先更新数据库还是后更新数据库都会造成数据不一致问题; 例如:线程A先更新数据库数据为21,线程B并发的更新数据库数据为20,接着更新缓存为20。线程A继续更新缓存数据为21,造成不一致问题;后更新...
数据的一致性
2022-04-15
1
633
Redis的过期策略
来自专栏
过期数据的删除策略 惰性删除:只会在取出key的时候才对数据进行过期检查。这样对CPU最友好,但是可能会造成太多的过期key没有被删除; 定期删除:每隔一段时间随机抽取(而不是遍历所有设置过期时间的key)一批key执行删除过期key的操作。同时redis底...
删除策略
内存淘汰机制
2022-04-15
0
423
缓存问题
来自专栏
缓存穿透 大量请求的key根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。大多属于恶意攻击。 解决:布隆过滤器 布隆过滤器。将所有可能存在的请求的值都存放在布隆过滤器中,当用户请求过来,先判断用户发来的请求的值是否...
redis缓存问题
2022-04-15
0
352
Redis如何实现数据的持久化
来自专栏
AOF日志 介绍 WAL(写前日志):先写日志后操作数据; AOF(后写日志):Redis先执行命令,把数据写入内存,然后才记录日志。 优势 避免额外的检查开销(也就是对应数据库MySQL的分析器(词法、语...
AOF日志
RDB日志
2022-04-13
2
382
redis为什么使用单线程
来自专栏
redis为什么使用单线程 多线程 增加系统吞吐量,充分利用CPU资源 但是一味地新增线程、没有良好的设计、系统吞吐量甚至会下降。原因在于切换上下文带来的资源的消耗。 上下文切换的概念: C...
单线程
2022-03-04
0
475
Redis底层数据结构
来自专栏
Redis 完全基于内存的数据库。 吊打磁盘数据库(多了将IO操作读取到内存里)、所以不会因为磁盘的IO速度限制。 高效的数据结构 常用的5种:String(SDS简单动态字符串)、list(双向链表、压缩列表)、hash(哈希表、压缩列...
底层数据结构
2021-09-17
2
538