
Redis
文章平均质量分 91
Redis系列文章
_whitepure
这个作者很懒,什么都没留下…
展开
-
Redis与缓存
可以设置自动重试机制,如果更新操作失败,系统会尝试重新执行更新,增加成功的可能性,虽然这样可能会增加系统的负担。另一种方法是使用备用缓存,在主缓存更新失败时,将数据写入备用缓存,并在主缓存恢复正常时进行同步,这样可以保持系统的正常运转。缓存穿透的原因通常是,用户请求的数据在缓存和数据库中都不存在,或者是请求的数据在缓存中未命中,直接查询数据库,并未将结果正确地缓存起来。在更新源数据时,同时更新缓存和源数据库。缓存击穿 是指在缓存中某个热点数据的缓存失效时,多个请求同时访问数据库,导致数据库压力剧增的情况。原创 2024-07-29 12:13:05 · 519 阅读 · 0 评论 -
Redis部署策略
它的主要优点是能够处理大规模的数据和高并发请求,自动故障转移功能减少了服务中断时间,同时分散了数据和负载,减少了单点故障的风险。如果主节点出现故障,可以将从节点提升为新的主节点,实现一定程度的容错和数据恢复。不过,由于主从复制默认是异步的,从节点的数据可能会有延迟,导致读取的数据可能不是最新的。它的主要优点是能够自动处理主节点故障,将从节点提升为新的主节点,从而减少服务中断时间,增强系统的稳定性和可靠性。前者称为主节点,后者称为从节点,数据的复制是单向的,只能由主节点到从节点。一旦选定新的主节点,原创 2024-07-29 12:15:15 · 543 阅读 · 1 评论 -
SpringBoot整合Redis
的方式,还可以使用注解的方式操作缓存,注解的方式操作缓存,可以减少代码量,提高开发效率。需要在SpringBoot主类或配置类上启用缓存支持。完整的示例代码,包括基本用法、更新缓存、删除缓存、条件缓存和缓存配置。注解用于更新缓存,确保方法执行,并将结果缓存。编写一个简单的测试类来验证缓存是否生效。属性,只有满足条件的结果才会被缓存。注解用于缓存方法的返回结果。注解用于类级别的缓存配置。还可以条件缓存,通过。原创 2020-04-01 11:29:04 · 494 阅读 · 1 评论 -
基于Redis的分布式锁的演进
加过期时间释放锁的这种方式会带来另一个问题,某个线程加锁,然后执行业务代码,业务代码执行的时间超过了限定时间,此时Redis会释放锁,然后第二个请求就进来了,此时第一个线程业务代码执行完毕,执行释放锁步骤。对于上面的解决方法,其实并没有真正的解决缓存续期的问题,还是会带来能存在锁过期释放,业务没执行完的问题。针对缓存续期的问题,我们可以开一个守护线程,每隔一段时间检查锁是否还存在,存在则对锁的过期时间延长,防止锁过期提前释放。当释放锁时,节点会检查锁的持有者是否匹配,只有匹配的情况下才会删除锁。原创 2024-07-27 12:54:52 · 1127 阅读 · 0 评论 -
Redis内存管理
达到内存限制时,它会在所有设置了过期时间的键中选择最近最少使用的数据进行淘汰。页面置换算法:进程运行时,若其访问的页面不在内存而需将其调入,但内存已无空闲空间时,就需要从内存中调出一页程序或数据,送入磁盘的对换区,其中选择调出页面的算法就称为页面置换算法。默认最大内存是全部的内存,我们在实际配置的时候,一般配实际服务器内存的3/4也就足够了。算法常用于缓存管理,目的是在缓存满时,保留最常使用的数据,同时移除最久未被使用的数据。专注于管理设置了过期时间的键,优先淘汰过期数据,保留未过期的键。原创 2024-07-30 11:55:24 · 997 阅读 · 1 评论 -
Redis详解
Redis全称,是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API的非关系型数据库。简而言之,Redis是一个可基于内存亦可持久化的日志型、Key-Value非关系型数据库。非关系型数据库,简称NoSQL,是的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称,泛指非关系型的数据库。NoSQL不依赖业务逻辑方式存储,而以简单的Key-Value模式存储。因此大大的增加了数据库的扩展能力。Redis。原创 2021-09-09 14:58:40 · 2835 阅读 · 1 评论