Redis基础回顾

基本数据类型

String

List 

Hash -- 类似map

Set -- 无序,不能重复

Sort Set -- 有序,不能重复,要传个分数作为排序

setnx

setnx「SET if Not eXists」和expire合成一条指令 

Lua

支持Lua脚本,例如同IP下1秒内只能调用一次 

持久化

RDB, 快照形式写入磁盘,实际是通过fork一个子进程去执行,只能存一段时间

AOF, 以日志的形式记录redis的一系列操作,AOF的运行效率要慢于RDB 

缓存雪崩

解释:同一时间缓存大面积失效,同时又有大批流量进来,数据直接打到了DB上,redis像没有一样,例如在物流系统中客户(收货人,发货人以及通知人)和港口是热点数据,哪里基本都会用到,如果在同一时间缓存失效,刚好又是旺季,直接就全打到了DB上。

解决:缓存的时候,对失效时间加个随机值 

缓存穿透

解释:缓存和数据库中没有这个数据,如果接口一直请求就一直是打到DB上查询的,并且是恶意频繁请求,有可能直接搞崩

解决:对接口参数做校验

缓存击穿

解析:对于某一个缓存热点数据进行不断的请求,当缓存热点数据失效的瞬间,大批量的请求直接打到了DB上,容易出问题

解决:设置热点数据为永久存储,或加互斥锁

淘汰策略

FIFO,淘汰最早数据

LRU,剔除最近最少使用

LFU,剔除最近使用频率最低等

Bitmap

位图是⽀持按 bit 位来存储信息,可以⽤来实现 布隆过滤器(BloomFilter);

应用场景:1. 垃圾邮件过滤 2. 百度爬虫爬过的url就不用再爬

java实现

jedis、lettuce

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翅膀君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值