Redis总结

1.redis支持哪些数据类型

string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)

2.过期策略

(1)定期删除:
Redis 默认每个 100ms 检查,有过期 Key 则删除。需要说明的是,Redis 不是每个 100ms 将所有的 Key 检查一次,而是随机抽取进行检查,因为如果redis中有数量很大的key(例如几十万key),那么每隔100ms检查一次,redis很可能就死掉了,因为数据太多,检查太频繁,cpu负载太高了。如果只采用定期删除策略,会导致很多 Key 到时间没有删除。于是,惰性删除派上用场。
(2)惰性删除:
当你在获取某个 key 的时候,redis 会检查这个 key是否设置了过期时间,如果设置了过期时间,检查key是否过期,如果过期了此时就会删除,返回空值。

3.淘汰机制

noeviction: 当内存不足以容纳新写入数据时,新写入操作会报错(使用较少)。
allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key(这个是最常用的)。
allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个 key(使用较少)。
volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的 key(使用较少)。
volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个 key(使用较少)。
volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的 key 优先移除(使用较少)。

4.什么是缓存雪崩

(1)对于“对缓存数据设置相同的过期时间,导致某段时间内缓存失效,请求全部走数据库。
(2)Redis挂掉了,请求全部走数据库。

5.怎么解决缓存雪崩

对于“对缓存数据设置相同的过期时间,导致某段时间内缓存失效,请求全部走数据库。”这种情况

  • 在缓存的时候给过期时间加上一个随机值,这样就会大幅度的减少缓存在同一时间过期。

对于“Redis挂掉了,请求全部走数据库”这种情况,我们可以有以下的思路:

  • 事发前:实现Redis的高可用(主从架构+Sentinel 或者Redis Cluster),尽量避免Redis挂掉这种情况发生。
  • 事发中:万一Redis真的挂了,我们可以设置本地缓存(ehcache)+限流(hystrix),尽量避免我们的数据库被干掉(起码能保证我们的服务还是能正常工作的)
  • 事发后:redis持久化,重启后自动从磁盘上加载数据,快速恢复缓存数据

6.什么是缓存击穿

缓存穿透是指查询一个一定不存在的数据。由于缓存不命中,并且出于容错考虑,如果从数据库查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,失去了缓存的意义。
比如:每次请求的ID都是负数。这会导致我的缓存就没用了,请求全部都找数据库去了,但数据库也没有这个值啊,所以每次都返回空出去。

7.如何解决缓存击穿

  • 由于请求的参数是不合法的(每次都请求不存在的参数),于是我们可以使用布隆过滤器(BloomFilter)或者压缩filter提前拦截,不合法就不让这个请求到数据库层!

-当我们从数据库找不到的时候,我们也将这个空对象设置到缓存里边去。下次再请求的时候,就可以从缓存里边获取了。这种情况我们一般会将空对象设置一个较短的过期时间。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 考虑到绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Valu...
    Boston199834阅读 465评论 0 6
  • 原文章公众号地址 问题: 1.为什么使用Redis 2.使用Redis有什么缺点 3.单线程的Redis为什么这么...
    wanxd阅读 217评论 0 0
  • 本文围绕以下几点进行阐述 1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4...
    天堂鸟6阅读 102评论 0 1
  • 一: Nosql Redis优点: Nosql(Not Only SQL) 非关系型数据,数据储存不需要固定的模式...
    刘小刀tina阅读 596评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,782评论 28 54

友情链接更多精彩内容