Redis
救救头发
记录个人学习笔记
展开
-
缓存穿透;缓存雪崩
缓存穿透简单来说就是大量请求的key不在缓存中,请求直接到了数据库上,没有经过缓存解决方法:1.做好参数检验,如:id不能小于02.缓存无效key:数据库和缓存中都没有的数据写到一个Redis中, 设置过期时间3.布隆过滤器:布隆过滤器说某个元素存在,小概率会误判。布隆过滤器说某个元素不在,那么这个元素一定不在缓存雪崩:缓存在同一时间大面积失效,导致后面的请求直接到数据库,造成数据库短时间内承受大量数据解决方法:1.Redis集群,避免整个服务都不可用2.设置不同的缓存时间,原创 2022-03-02 20:03:57 · 312 阅读 · 0 评论 -
Redis持久化
1.快照持久化(RDB)Redis可以通过创建快照获取内存中数据的副本,在创建快照副本后,可以对快照备份,可以将快照复制到其他服务器从而创建具有相同数据的服务器副本(Redis主从结构),还可以将快照留在原地以便重启服务器的时候使用2.AOF持久化与快照持久化相比,AOF 持久化的实时性更好,开启 AOF 持久化后每执行一条会更改 Redis 中的数据的命令,Redis 就会将该命令写入到内存缓存中,然后再根据appendfsync配置来决定何时将其同步到硬盘中的 AOF 文件。为了兼顾数据..原创 2022-03-02 20:03:30 · 192 阅读 · 0 评论 -
Redis内存淘汰
volatile-lru(least recently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰 volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰allkeys-lru(least recently used):当内存不足以容纳新写入数据时,原创 2022-03-02 20:02:55 · 46 阅读 · 0 评论 -
过期数据删除策略
1.惰性删除:只会在取出key的时候才对数据进行过期检查,对CPU友好2.定期删除:每隔一段时间抽取一批key执行删除过期key操作定期删除对内存更加友好,惰性删除对 CPU 更加友好。两者各有千秋,所以 Redis 采用的是定期删除+惰性删除...原创 2022-03-02 20:02:09 · 1204 阅读 · 0 评论