
缓存-Redis
文章平均质量分 94
Redis缓存
买个橘籽
这个作者很懒,什么都没留下…
展开
-
Redis系列 - 缓存雪崩、击穿、穿透及解决方案
Redis系列 - 缓存雪崩、击穿、穿透及解决方案缓存雪崩、缓存击穿和缓存穿透一旦发生,会导致大量的请求积压到数据库层。如果请求的并发量很大,就会导致数据库宕机或是故障,这就是很严重的生产事故了。缓存雪崩缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至宕机。缓存雪崩一般是由两个原因导致的缓存大面积失效 Redis 缓存实例发生故障宕机了,无法处理请求,这就会导致大量请求一下子打到数据库层解决方案缓存数据的过期时间设置随机值(例如,随机增加1~5分钟原创 2020-11-16 19:32:25 · 185 阅读 · 0 评论 -
Redis系列 - 一文搞懂缓存淘汰策略
Redis - 缓存淘汰策略在使用Redis时,我们一般会为Redis的缓存空间设置一个大小,不会让数据无限制的放入Redis缓存。对于 Redis 来说,一旦确定了缓存最大容量,比如 4GB,你就可以使用下面这个命令来设定缓存的大小了:CONFIG SET maxmemory 4gbRedis设置了缓存的容量大小,那么缓存被写满是不可避免的。我们需要面对缓存写满时的替换操作。缓存替换需要解决两个问题:决定淘汰哪些数据,如何处理那些被淘汰的数据。Redis有哪些淘汰策略noe原创 2020-11-12 09:44:07 · 330 阅读 · 0 评论 -
Redis系列 - 如何应对Redis变慢
Redis系列 - Redis如何避免单线程模型阻塞原创 2020-11-10 15:01:46 · 603 阅读 · 1 评论 -
Redis系列 - Redis基本数据类型
Redis系列 - Redis基本数据类型与操作字符串String 散列Hash(key-filed-value) 列表List SortedSet(zSet) Set字符串String字符串是Redis中最常用的类型,是一个由字节组成的序列,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据。Value最多可以容纳的数据长度为512MB。set (set key value) get (get key) setnx(setnx key value) 如..原创 2020-11-05 10:24:04 · 355 阅读 · 0 评论 -
Redis系列 - Redis底层数据结构(简单动态字符串(SDS)、链表、字典、跳跃表、整数集合、压缩列表)
Redis系列 - Redis基本数据类型原创 2020-11-04 16:22:56 · 1514 阅读 · 1 评论 -
Redis系列 - 主从库模式、哨兵和分片集群
Redis系列 - 主从库模式、哨兵和分片集群主从库模式Redis的高可靠性主要包括两方面:数据尽量少丢失:RDB & AOF机制 服务尽量少中断:增加副本冗余主从模式Redis提供了主从库模式,增加冗余的副本来提高Redis集群的高可靠性。主从库之间采用读写分离的方式,写请求只能在主库,读请求在主从库都可以完成。读操作:主库、从库 写操作:主库 --> 主库写完后同步从库写请求为什么只能在主库上,若从库和主库上都可以进行读写会发生什么?1. 若有3个写请求原创 2020-10-29 01:35:30 · 718 阅读 · 2 评论 -
Redis系列 - Redis缓存更新:先更新数据库还是先更新缓存?
Redis系列 - Redis先更新数据库还是先更新缓存?先更新数据库再失效缓存原创 2020-10-28 17:05:37 · 1901 阅读 · 2 评论 -
Redis系列 - Redis数据持久化(AOF&RDB)?
Redis系列 - Redis数据持久化(AOF&RDB)?宕机了,Redis如何避免数据丢失?AOF RDBAOFRedis先将数据写入Redis内存,再记日志,Redis使用的写后日志。为了避免额外的检查开销,Redis 在向 AOF 里面记录日志的时候,并不会先去对这些命令进行语法检查。所以,如果先记日志再执行命令的话,日志中就有可能记录了错误的命令,Redis 在使用日志恢复数据时,就可能会出错。AOF日志记录格式:以 Redis 收到“set key1valu.原创 2020-10-25 13:50:34 · 1003 阅读 · 1 评论 -
Redis系列 - 单线程的Redis为什么那么快?
Redis系列 - 单线程的Redis为什么那么快?Redis为什么使用单线程?在说这个问题之前我们先来了解下引入多线程常见的开销:1. 上下文切换:即使是单核CPU也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程时同时执行的,时间片一般是几十毫秒(ms)。CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是,在切换前会保原创 2020-10-25 13:00:57 · 2400 阅读 · 6 评论