redis bigKey问题

bigKey的产生

1、使用String存储了大文件的二进制。

2、使用集合没有考虑到数据的规模,或者规模的增长。

3、哈希中冗余了大量键值对。

bigKey问题

1、操作大key时会阻塞线程:redis是单线程。

2、网络阻塞:在网络中占用大量网络流量。

3、阻塞工作线程:其他命令不能正常执行。

如何查看?

1、使用自带的--bigkeys,但是会影响主线程。

2、使用自带的scan命令。

3、使用开源工具redis-rdb-tools等分析RDB文件。

如何处理?

1、分割:将一个大的key分成多个小key。

2、手动清理:redis4.0之后使用unlink 启动异步线程去清理一个或多个指定key。

3、采用合适的数据结构。

相关推荐
FakeOccupational2 分钟前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存结构图 + MPU内存保护单元 + Cache基本操作 + Cache&DMA 时序图
笔记·stm32·缓存
AMoon丶6 分钟前
Golang--内存管理
开发语言·后端·算法·缓存·golang·os
yunyun321236 分钟前
自动化与脚本
jvm·数据库·python
暮冬-  Gentle°7 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
setmoon2148 分钟前
构建一个基于命令行的待办事项应用
jvm·数据库·python
IndulgeCui28 分钟前
金仓数据库(KINGBASEES)敏感数据物理级销毁功能:配置、实操与验证全指南
数据库
Bat U37 分钟前
MySQL数据库|建库&建表&数据类型
数据库·mysql
短剑重铸之日41 分钟前
《ShardingSphere解读》16 改写引擎:如何理解装饰器模式下的 SQL 改写实现机制?
java·数据库·后端·sql·shardingsphere·分库分表·装饰器模式
m0_5879589542 分钟前
机器学习与人工智能
jvm·数据库·python
2501_908329851 小时前
Python入门:从零到一的第一个程序
jvm·数据库·python