![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 91
火热男
这个作者很懒,什么都没留下…
展开
-
【Java业务需求解决方案】分布式锁应用详情,多种方案选择,轻松解决,手把手操作(非全数字编码依次加一问题)
这种方案能解决方案一的原子性问题,但是依然会存在很大的问题,如下所示:1、时钟不同步:如果不同的节点的系统时钟不同步,可能导致锁的过期时间计算不准确。解决方案:使用相对时间而非绝对时间,或者使用时钟同步工具确保系统时钟同步。2、死锁:在某些情况下,可能出现死锁,例如由于网络问题导致锁的释放操作未能执行。解决方案:使用带有超时和重试的锁获取和释放机制,确保在一定时间内能够正常操作。原创 2024-04-07 15:21:36 · 1410 阅读 · 0 评论 -
【Redis】Redis持久化模式AOF
如果说用户对redis的写操作不多甚至没有,95%以上都是读操作,那么用rdb也没啥问题,我们有一个项目是采用的缓存预热方式,用户几乎没有写操作,所以直接采用RDB就够用了,因为哪怕redis挂了,甚至RDB没了,数据还是能通过预热重新载入。AOF重写,redis会把当前所有的数据以rdb形式存入到aof中,这都是二进制数据,数据量小,随后新的数据以aof形式追加到这个aof中,那么这个aof中包含两种文件类型数据,一个是rdb,一个是aof,那么恢复的时候redis会同时恢复,这样恢复过程会更快。原创 2024-03-05 11:12:17 · 841 阅读 · 0 评论 -
【Redis】Redis持久化模式RDB
上图中,Redis会备份RDB到磁盘,那么备份到磁盘的过程是会耗时的,内存中redis的数据越多越大,比如8g内存中有4g都是redis数据,那么在备份到磁盘的时候会有传输过程,有一定的时间损耗,可能几十秒也有可能1分钟多,这个RDB快照并不是瞬间产生的。不论是开发游戏还是普通的项目,肯定会有维护期,那么在维护期的时候,就会用到save,直接阻塞,不让新的数据写入,游戏项目是最常见的,直接停服了,所有玩家等着新版本上线后才能重新进。*由于定时全量备份是重量级操作,所以对于实时备份的业务场景,就不适用了。原创 2024-03-04 16:46:12 · 1536 阅读 · 1 评论 -
【Redis】3.什么是缓存击穿 ? 怎么解决 ?
缓存击穿问题也叫热点Key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击。原创 2024-02-06 10:26:31 · 464 阅读 · 1 评论 -
【Redis】2.你能介绍一下布隆过滤器吗?
布隆过滤器能够实现使用较少的空间来高效判断一个指定的元素是否包含在一个集合中布隆过滤器并不保存这些数据,所以只能判断是否存在,而并不能取出该元素使用情景:凡是判断一个元素是否在一个集合中的操作,都可以使用它布隆过滤器常见使用场景idea中编写代码,一个单词是否包含在正确拼写的词库中(拼写不正确划绿线的提示)公安系统,根据身份证号\人脸信息,判断该人是否在追逃名单中爬虫检查一个网址是否被爬取过......原创 2024-01-29 17:30:26 · 869 阅读 · 0 评论 -
【Redis】1.什么是缓存穿透 ? 怎么解决 ? 什么是布隆过滤器 ?
布隆过滤器能够实现使用较少的空间来高效判断一个指定的元素是否包含在一个集合中布隆过滤器并不保存这些数据,所以只能判断是否存在,而并不能取出该元素使用情景:凡是判断一个元素是否在一个集合中的操作,都可以使用它布隆过滤器常见使用场景idea中编写代码,一个单词是否包含在正确拼写的词库中(拼写不正确划绿线的提示)公安系统,根据身份证号\人脸信息,判断该人是否在追逃名单中爬虫检查一个网址是否被爬取过......原创 2024-01-26 19:36:23 · 999 阅读 · 1 评论 -
【redis面试题】高频redis面试题
候选人嗯~~,我想一下缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都会用布隆过滤器来解决它2.面试官候选人嗯,是这样~布隆过滤器主要是用于检索一个元素是否在一个集合中。我们当时使用的是redisson实现的布隆过滤器。它的底层主要是先去初始化一个比较大数组,里面存放的二进制0或1。原创 2024-01-17 13:53:33 · 889 阅读 · 0 评论