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

数据库与中间件

1、Redis常见数据类型

五种常见数据类型:

String:字符串,单个对象或JSON、计数器、分布式锁;

Hash:哈希表,键值对,缓存对象;

List:列表,消息队列,可以头插和尾插;

Set:集合,去重且无序,名单、集合运算场景;

ZSet:有序集合,去重,排行榜等有序信息;

四种新增数据类型:

Bitmap:二值状态,标记用户签到或者登录;

HyperLogLog:海量UV去重;

GEO:地理信息相关;

Stream:消息队列,唯一ID;

2、Redis线程模型

Redis 6.0之前,使用单线程,但是不是说整个Redis都是单线程,而是说Redis接收请求、解析请求、读写数据、响应请求的过程是单线程,采用的是IO多路复用的方式进行监听,如果涉及耗时的后台操作,比如释放文件、释放内存、刷盘操作,还是有后台线程进行处理。

Redis 6.0之后,引入多线程,用来处理网络I/O,但是执行命令仍然是单线程。

3、Redis缓存穿透、缓存击穿、缓存雪崩的区别及解决方法?

缓存穿透:用户访问的数据,缓存不存在,数据库也不存在,当大量类似的请求访问时,会把流量全打到数据库上,导致数据库压力骤增。比如,用户构造大量类似id = -1(不存在的id)访问数据库,导致数据库压力倍增。可以用布隆过滤器解决。

缓存击穿:某个时间,某个热点的key在缓存失效了,或者Redis宕机,导致大量流量打到数据库上面。可以用分布式锁/互斥锁、缓存预热。

缓存雪崩:同一时间,大量key失效,导致大量请求打到数据库。缓存击穿可以看成是缓存雪崩的子集,可以使用随机TTL、多级缓存等方式。

http://www.cnnetsun.cn/news/4106597.html

相关文章:

  • 借助 AI-DLC 完成研发团队转型,传统企业该挑选哪些云上工具和方案?
  • OpsFlash v0.2.0 版本发布:新增多项功能,跨平台桌面运维工具再升级!
  • 突破性DSP语音模组AP-0316引领声学革命
  • 基于合成数据与ESP32-S3的跨语言关键词唤醒模型实战指南
  • AIoT边缘计算硬件选型与推理部署实战指南
  • leetcode 1722. Minimize Hamming Distance After Swap Operations
  • Spring Boot AOP记录用户操作日志
  • 嵌入式开发入门:从LED与传感器控制到物联网系统构建
  • 基于EasyUI与KnockoutJS的通用分页查询与数据导出ViewModel设计
  • 广州微闻网络AI落地技术实践:Agent定制、Token供应与云计算全栈技术解析
  • 在线教育平台开课前三网验收:视频域、直播与 API
  • 多个人同时提问但位置有限
  • UnrealPakViewer 完整上手教程:三步摸清任意 UE4 Pak 文件内部结构
  • Think-a-Tron Mini:从复古玩具到DIY电子项目,探索伪随机数生成与电路设计
  • 102.环形缓冲区之读指针与写指针:原理、实现与完整代码
  • BBDown完整使用手册:让哔哩哔哩视频下载变成一行命令的事
  • 计算机网络学习笔记(六)---网络层与IP协议
  • AI家庭机器人技术解析:从ROS架构到嵌入式开发实践
  • 从零构建智能体:基于Coze平台的可视化AI助手开发实战
  • C语言基础知识-学习笔记
  • 基于大模型与持续学习的人形机器人叠衣系统实战解析
  • 光度立体成像全栈拆解 | 多视角光影法向量求解+梯度积分重建,助力漫反射工件微划痕凹坑褶皱高速高精度2.5D缺陷检测
  • 深挖C语言:深入理解指针(2)
  • 线性可调双路输出电源:原理、设计与噪声抑制全解析
  • 当“让用户满意”变成“让用户更不满意”:AI防御误触发的根源与破解之道
  • OptiCommPy模拟光马赫-曾德尔调制器
  • CAD绘图效率提升:从练习图29拆解系统绘图流程与高效命令组合
  • snpe-VGG案例(uv环境-全流程 教程)
  • 实测通勤15分钟出片全流程,不用电脑不用大内存手机
  • 基于树莓派的智能交互装置:从硬件搭建到AI对话引擎实现