reids基础

embedded/2024/11/22 19:04:46/

数据结构类型

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.ppmy.cn/embedded/139681.html

相关文章

IDEA优雅debug

目录 引言一、断点分类🎄1.1 行断点1.2 方法断点1.3 属性断点1.4 异常断点1.5 条件断点1.6 源断点1.7 多线程断点1.8 Stream断点 二、调试动作✨三、Debug高级技巧🎉3.1 watch3.2 设置变量3.3 异常抛出3.4 监控JVM堆大小3.5 数组过滤和筛选 引言 使用ID…

android 性能分析工具(04)Asan 内存检测工具

1 Asan工具简介 1.1 Asan工具历史背景 AddressSanitizer(ASan)最初由Google开发,并作为LLVM项目的一部分。ASan的设计目的是帮助开发者检测并修复内存错误,如堆栈和全局缓冲区溢出、使用已释放的内存等,这些问题可能…

论文 | Learning to Transfer Prompts for Text Generation

1. 总结与提问 论文摘要总结: 论文提出了一种创新的PTG(Prompt Transfer Generation)方法,旨在通过迁移提示的方式解决传统预训练语言模型(PLM)在数据稀缺情况下微调的问题。通过将一组已在源任务中训练好…

ts: 定义一个对象接收后端返回对象数据,但是报错了有红色的红线为什么

问&#xff1a; const backendProgressData ref<object>&#xff08;{}&#xff09; 这是我的代码&#xff0c;但是当我进行使用的时候&#xff1a; backendProgressData.value xxxx接口返回数据progressData:{percentage:123,text:"文字"} 在template中{{…

移动应用开发:Android Studio实现简易注册页(数据存放以SharedPreferences形式)

文章目录 简介步骤 1&#xff1a;创建新活动步骤 2&#xff1a;设计UI布局步骤 3&#xff1a;编写活动代码注意事项 步骤 4&#xff1a;运行应用程序步骤 5&#xff1a;查看存放数据注意事项 简介 使用Android Studio编写的简单Android 注册应用程序&#xff0c;该应用程序包含…

云原生学习

1、云原生学习 文章目录 1、云原生学习1. 介绍2. Docker容器化 1. 介绍 什么是云原生&#xff1f;原生指使用JAVA等语言编写的项目&#xff0c;云是指将项目部署到云服务器上云平台&#xff1a;公有云、私有云 本地平台是指直接部署在自己计算机&#xff0c;而开发的应用一定要…

小试牛刀-Anchor安装和基础测试

目录 一、编写目的 二、安装步骤 2.1 安装Rust 设置rustup镜像 安装Rust 2.2 安装node.js 2.3 安装Solana-CLI 2.4 安装Anchor CLI 三、Program测试 四、可能出现的问题 Welcome to Code Blocks blog 本篇文章主要介绍了 [Anchor安装和基础测试] 博主广交技术好友&…

pnpm : 无法加载文件 D:\Tool\environment\NodeAndNvm\node\pnpm.ps1,因为在此系统上禁止运行脚本。

问题 在终端(cmd)输入 pnpm -v&#xff0c;报错如下 pnpm : 无法加载文件 D:\Tool\environment\NodeAndNvm\node\pnpm.ps1&#xff0c;因为在此系统上禁止运行脚本。解决 1. 在终端输入get-ExecutionPolicy(查看执行策略/权限) 输出如下&#xff1a; # (受限的) Restricte…