![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 87
a栋栋栋
这个人很忙,什么都没留下~
展开
-
redis单线程到多线程的发展
redis作为单线程为什么这么快,I/O多路复用模型,以及之后引入多线程转载 2024-05-23 10:30:00 · 32 阅读 · 0 评论 -
高并发场景
缓存在同一时间大面积的失效,导致大量的请求都直接落到了数据库上,对数据库造成了巨大的压力。针对大量缓存同时失效的情况解决办法①设置随机失效时间(可选):为缓存设置随机的失效时间,例如在固定过期时间的基础上加上一个随机值,这样可以避免大量缓存同时到期,从而减少缓存雪崩的风险。②提前预热(推荐):针对热点数据(比如我们秒杀业务中的数据)提前预热,将其存入缓存中并设置合理的过期时间,保证在秒杀活动结束前不过期。测试环境下:我是通过测试类,先进行数据预热,加载进Redis缓存中。③持久缓存策略。原创 2024-05-12 20:23:12 · 445 阅读 · 1 评论 -
Redis分布式锁
满足分布式系统下多进程可见并且互斥的锁。多个服务器(tomcat)之间可见的锁。使用场景:同一个数据只能被修改一次,或者秒杀【数据的变化是需要被感知】分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程一起进行,让程序串行执行。分布式锁底层主要用了redis的setnx命令:由于Redis是单线程的,用了setnx命令之后,只有一个客户端对某一个key设置值,在没有过期或删除key的时候其他客户端是不能设置这个key的。原创 2024-05-07 11:44:28 · 493 阅读 · 0 评论 -
Redis持久化
Redis 可以通过创建快照来获得存储在内存里面的数据在某个时间点上的副本。当数据库出现故障重启的时候,从磁盘中读取快照文件,恢复数据。开启 AOF 持久化后每执行一条会更改 Redis 中的数据的命令,Redis 就会将该命令写入到 AOF 缓冲区,然后再写入AOF文件中,最终再同步到磁盘中去。当Redis实例出现故障恢复的时候,会从这个文件中再执行一遍命令来恢复数据。如果对数据丢失可以容忍,可以直接使用RDB。原创 2024-05-07 10:47:41 · 691 阅读 · 0 评论 -
Redis常用的数据结构
非关系型数据库,NoSQL。一种以键值对形式存储数据的系统。通用命令:对任何数据结构都适用。KEYS:查看符合模板的所有Key,模板一般为正则表达式(通配符),不建议在生产环境设备下使用:因为当数据量非常大的时候,加上又是单线程,会阻塞DEL:删除一个或者多个keyEXISTS:判断key是否存在EXPIRE:给key设置有效期TTL:查看一个key的有效时期,-1为永久存在,-2为不存在HELP[COMMAND]:具体查看一个命令的使用。原创 2024-04-28 21:44:01 · 1067 阅读 · 1 评论