当前位置: 首页 > news >正文

reids基础

数据结构类型

String

setnx        //设置key不存在,则添加成功

setex  name 10 jack        // key 10s失效,自动删除

hash

hset

hget

list

按添加数据排序

lpush        //左侧插入

rpush         //右侧插入

set

不重复

sadd        //添加

srem         //移除

zset(SortedSet)

可排序、元素不重复

zadd stu 60 jack        //

缓存

更新策略:

  1. 内存淘汰:内存不足时自动淘汰;
  2. 超时剔除:添加TTL;
  3. 主动更新:

业务场景:

  • 低一致性需求
  • 高一致性需求

持久化

RDB

AOF

面试题

缓存穿透

原因:请求的数据在缓存和数据库都不存在,这样缓存永远不会生效。

解决方案:

  1. 缓存空对象(null):实现简单,维护方便,但是会有额外内存消耗
  2. 布隆过滤:在redis前面加布隆过滤器,不存在直接拒绝
  3. ...

缓存雪崩

原因:同一时段大量的缓存key同时失效或者redis宕机,大量的请求到数据库。

解决方案:

  1. 给不同的key的TTL添加随机值
  2. redis集群提高服务的高可用
  3. 业务添加多级缓存

缓存击穿

原因:(热点key问题)高并发访问并且缓存重建业务较复杂的key突然失效。

解决方案:

  1. 互斥锁
  2. 逻辑过期:不过期的key,在没有跟新缓存前先返回旧数据;

http://www.lryc.cn/news/489060.html

相关文章:

  • 私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?
  • SparkContext讲解
  • MODBUS TCP转CANOpen网关
  • 渗透测试---shell(4)脚本与用户交互以及if条件判断
  • 02_Spring_IoC实现
  • 使用Python3实现Gitee码云自动化发布
  • Ubuntu24.04下的docker问题
  • PAT (Basic Level) Practice (中文)1002 写出这个数
  • C07.L07.STL之映射.应用2.统计数字
  • 微信小程序组件详解:text 和 rich-text 组件的基本用法
  • 算法.图论-习题全集(Updating)
  • this.$prompt 限制输入长度
  • JDBC使用p6spy记录实际执行SQL方法【解决SQL打印两次问题】
  • 问题: redis-高并发场景下如何保证缓存数据与数据库的最终一致性
  • Stable Diffusion核心网络结构——CLIP Text Encoder
  • C语言-11-18笔记
  • 数据结构_图的遍历
  • 设计LRU缓存
  • python中的base64使用小笑话
  • Python之time时间库
  • Easyexcel(4-模板文件)
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 动态生成word文件
  • Window11+annie 视频下载器安装
  • SAP GR(Group Reporting)配置篇(七)
  • 共建智能软件开发联合实验室,怿星科技助力东风柳汽加速智能化技术创新
  • 优化表单交互:在 el-select 组件中嵌入表格显示选项
  • 每日一题 LCR 079. 子集
  • cocos creator 3.8 Node学习 3
  • 微信小程序底部button,小米手机偶现布局错误的bug
  • 【计组】复习题