redis
RNIZ
这个作者很懒,什么都没留下…
展开
-
Redis持久化机制
Redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)Redis的一种持久化方式叫快照(snapshotting,RDB),另一种方式是只追加文件(append-only file,AOF)快照(snapshotting)持久化(RDB):Redis可以通过创建快照来获得存储在内存里面的数据在某个时间点上的副本。Redis创建快照之后,可以对快照进行备份,可以将快照复制到其他服务器从而创建具有相同数据的服务器副本(Redis主从结构,主要用来提高Redis性能),还可以将快照留原创 2021-12-23 14:25:26 · 102 阅读 · 0 评论 -
Redis内存淘汰机制
Redis 内存淘汰机制Redis中通过maxmemory参数来设定内存的使用上限,当Redis使用内存达到设定的最大值的时候,会根据配置文件中的策略选取要删除的key来删除,从而给新的键值留出空间;redis 提供 6种数据淘汰策略:(默认策略no-eviction)volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过原创 2021-12-23 14:24:13 · 125 阅读 · 0 评论 -
什么是缓存击穿
缓存击穿缓存击穿,就是说某个 key 非常热点,访问非常频繁,处于集中式高并发访问的情况,当这个 key 在失效的瞬间,大量的请求就击穿了缓存,直接请求数据库,就像是在一道屏障上凿开了一个洞。不同场景下的解决方式可如下:若缓存的数据是基本不会发生更新的,则可尝试将该热点数据设置为永不过期。若缓存的数据更新不频繁,且缓存刷新的整个流程耗时较少的情况下,则可以采用基于 Redis、zookeeper 等分布式中间件的分布式互斥锁,或者本地互斥锁以保证仅少量的请求能请求数据库并重新构建缓存,其余线程则在原创 2021-12-23 14:22:11 · 1182 阅读 · 0 评论 -
什么是缓存穿透
什么是缓存穿透?缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。举个例子:某个黑客故意制造我们缓存中不存在的 key 发起大量请求,导致大量请求落到数据库。1)缓存无效 key如果缓存和数据库都查不到某个 key 的数据就写一个到 redis 中去并设置过期时间,具体命令如下:SET key value EX 10086。这种方式可以解决请求的 key 变化不频繁的情况,如果黑客恶意攻击,每次构建不同的请求key,会导致 redis 中缓存原创 2021-12-23 14:21:43 · 578 阅读 · 0 评论