Redis
文章平均质量分 93
Redis相关技术
浩骞
做同样的事情,时间不一样,心情不一样,结果也不一样,不忘初衷才能有所收获
展开
-
SpringBoot+Redisson实现分布式锁
目录项目结构pom.xmlapplication.ymlRedissonPropertiesRedissonAutoConfigurationDistributedLockerRedissonDistributedLockerRedissonLockUtilRedissonLockApplicationTestController测试结果Redisson分布式锁原理项目结构pom.xml依赖<?xml version="1.0" encoding="UTF-8"?><proj原创 2021-03-04 17:35:16 · 3695 阅读 · 3 评论 -
Redisson分布式锁源码解读
目录Redisson源码分析Redis 发布订阅加锁tryLocklock解锁unlock()RedLock上篇文章写了Redis分布式锁的原理和缺陷,过程中提到了Redisson这个框架,Redisson具体是什么呢?Redisson的源码解读工作量还是挺大的,其中用到了大量的Java并发类,并且引用了Netty作为通信工具,实现与Redis组件的远程调用,这些知识点如果要全部讲解的话不太现实,本文的重点主要是关于Redisson分布式锁的实现原理,所以网络通信和并发原理这块不会太仔细。Redi原创 2021-03-03 22:34:10 · 579 阅读 · 1 评论 -
Redis分布式锁基本原理
目录1、什么是分布式锁?2、Redis实现锁的命令2.1、SETNX2.2 、SETEX2.3、PSETEX2.4、SET3、怎么释放锁4、Java代码实现5、分布式锁的缺陷5.1、客户端长时间阻塞导致锁失效问题5.2、redis服务器时钟漂移问题5.3、单点实例安全问题5.4、RedLock算法解决Redis分布式锁问题6、结论1、什么是分布式锁?说到Redis,首先想到的功能就是可以缓存数据;除此之外,Redis因为单进程、性能高的特点,它还经常被用于做分布式锁。锁 在程序中的作用就是同步工具转载 2021-03-03 14:00:11 · 1331 阅读 · 0 评论 -
Redis 内存耗尽的淘汰策略 LRU与LFU算法
目录设置有效期过期策略8 种淘汰策略LRU(最近最少使用) 算法Redis 如何管理热度数据LFU(最近最少频率使用) 算法访问频次递增访问频次递减内存并不是无限的,总会存在内存耗尽的情况,本文章告诉你,当 Redis 服务器的内存耗尽后,如果继续执行请求命令,Redis 会如何处理?设置有效期使用Redis 时,某些 键值对 只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Redis 中可以通过 4 个独立的命令来给一个键设置过期时间:expire k转载 2021-02-24 09:52:58 · 633 阅读 · 0 评论 -
Redis 主从复制的原理详解
目录1.复制过程2.数据间的同步3.全量复制4.部分复制5.心跳6.异步复制总结1.复制过程复制的过程步骤如下:1、从节点执行 slaveof 命令;2、从节点只是保存了 slaveof 命令中主节点的信息,并没有立即发起复制;3、从节点内部的定时任务发现有主节点的信息,开始使用 socket 连接主节点;4、连接建立成功后,发送 ping 命令,希望得到 pong 命令响应,否则会进行重连;5、如果主节点设置了权限,那么就需要进行权限验证;如果验证失败,复制终止;6、权限验证通过后,进行转载 2020-12-09 19:25:12 · 669 阅读 · 0 评论 -
Redis 缓存穿透、缓存击穿、缓存雪崩
缓存穿透缓存穿透是指当用户在查询一条数据的时候,而此时数据库和缓存却没有关于这条数据的任何记录,而这条数据在缓存中没找到就会向数据库请求获取数据。用户拿不到数据时,就会一直发请求,查询数据库,这样会对数据库的访问造成很大的压力。如:用户查询一个 id = -1 的商品信息,一般数据库 id 值都是从 1 开始自增,很明显这条信息是不在数据库中,当没有信息返回时,会一直向数据库查询,给当前数据库的造成很大的访问压力。解决方法方法1:缓存空对象从缓存出发,如果当前MySQL数据库不存在的信息,在redi转载 2020-10-19 09:55:53 · 5064 阅读 · 2 评论 -
Redis内存碎片问题
目录查看Redis内存使用情况什么是内存碎片导致内存碎片的原因内存碎片危害如何解决内存碎片推倒重来空间置换作为内存数据库,内存空间大小对于 Redis 来说是至关重要的。内存越多,意味着存储的数据也会越多。但是不知道你有没有遇到过这样的情况,明明空间很大,但是内存的使用却不是很理想。为什么会出现这样的情况呢?我们来看看这个"诡异"的事件。查看Redis内存使用情况首先想要知道 Redis 内存的使用情况,我们就需要获取相关的信息。Redis 中查看内存相关信息是很简单的,只需要在命令行输入in转载 2020-12-09 15:23:21 · 517 阅读 · 0 评论 -
解决数据库读写分离的延时问题-redis
目录数据库读写分离主从库数据同步延时问题数据库系统架构发展主备架构主从架构主从延时解决办法方案1:数据同步写方案方案2:选择性强制读主库方案3:中间件选择路由Redis缓存路由大法(推荐)总结数据库读写分离主从库数据同步延时问题数据库采用主从架构,数据读写分离,数据查询走的是从库。数据写入都是直接操作主库,后续再同步到从库。由于数据库同步存在延时,这就导致数据同步的这段时间,主从数据将会不一致,从库无法查询到最新的数据。如果你之前的数据库系统架构是单库或者主备结构,当你第一次转到数据读写分离架构,这原创 2020-12-09 11:22:13 · 1444 阅读 · 0 评论