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、采用合适的数据结构。

相关推荐
大春儿的试验田3 分钟前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
likeGhee10 分钟前
python缓存装饰器实现方案
开发语言·python·缓存
hqxstudying10 分钟前
Redis为什么是单线程
java·redis
C1829818257531 分钟前
OOM电商系统订单缓存泄漏,这是泄漏还是溢出
java·spring·缓存
Ein hübscher Kerl.35 分钟前
虚拟机上安装 MariaDB 及依赖包
数据库·mariadb
醇醛酸醚酮酯1 小时前
Qt项目锻炼——TODO清单(二)
开发语言·数据库·qt
GreatSQL社区2 小时前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根2 小时前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql
weixin_438335402 小时前
基础知识:mysql-connector-j依赖
数据库·mysql
小明铭同学2 小时前
MySQL 八股文【持续更新ing】
数据库·mysql