您现在的位置是:首页 >技术交流 >Redis知识点网站首页技术交流

Redis知识点

符文师 2023-06-22 08:00:02
简介Redis知识点

1. Redis-常用数据结构

Redis提供了一些数据结构供我们往Redis中存取数据,最常用的的有5种,字符串(String)、哈希(Hash)、列表(list)、集合(set)、有序集合(zset)。

redis常用五种数据类型的数据结构总结
Redis的5种基本数据结构

Redis常用命令手册

2. redis缓存雪崩、缓存穿透、缓存击穿

缓存穿透:
key 对应的数据在redis中并不存在,每次针对此key的请求从缓存获取不到,请求转发到数据库,访问量大了可能压垮数据库。比如用一个不存在的用户 id获取用户信息,redis缓存和数据库中都没有,若黑客利用此漏洞进行攻击可能压垮数据库(黑客访问肯定不存在的数据,造成服务器压力大)
缓存击穿:
key 对应的数据存在,但在 redis 中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端 DB 加载数据并回设到缓存,这个时候大量并发的请求可能会瞬间把后端 DB 压垮(redis某个热门数据过期,大量的合理数据请求到达数据库)
缓存雪崩
key 对应的数据存在,但在 redis 中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端 DB
加载数据并回设到缓存,这个时候大量并发的请求可能会瞬间把后端 DB 压垮

缓存雪崩针对很多 key 失效导致redis无法命中,数据库压力激增;缓存击穿则是某一个热门 key 失效导致redis无法命中,数据库压力激增

Redis 缓存穿透、缓存击穿、缓存雪崩

3.Redis数据淘汰策略

淘汰策略名称策略含义
noeviction默认策略,不淘汰数据;大部分写命令都将返回错误(DEL等少数除外)
allkeys-lru从所有数据中根据 LRU 算法挑选数据淘汰
volatile-lru从设置了过期时间的数据中根据 LRU 算法挑选数据淘汰
allkeys-random从所有数据中随机挑选数据淘汰
volatile-random从设置了过期时间的数据中随机挑选数据淘汰
volatile-ttl从设置了过期时间的数据中,挑选越早过期的数据进行删除
allkeys-lfu从所有数据中根据 LFU 算法挑选数据淘汰(4.0及以上版本可用)
volatile-lfu从设置了过期时间的数据中根据 LFU 算法挑选数据淘汰(4.0及以上版本可用)

玩转Redis-8种数据淘汰策略及近似LRU、LFU原理

Redis实现分布式锁

4.Redis的持久化机制

Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置
Redis的持久化机制

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。