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

相关推荐
weixin_408717772 分钟前
如何大幅提升 Google Sheets 数据库更新脚本的执行效率
jvm·数据库·python
qq7590353668 分钟前
docker一键部署SQLynx,轻量级数据库管理平台
数据库·docker·容器
m0_5150984210 分钟前
如何实现SQL数据分片规则更新_利用触发器同步元数据
jvm·数据库·python
qq_3300379910 分钟前
uni-app怎么实现App端蓝牙搜索与连接 uni-app低功耗蓝牙开发【代码】
jvm·数据库·python
qq_6543669811 分钟前
SQL中如何通过JOIN实现级联删除_利用外键约束与JOIN辅助
jvm·数据库·python
2301_7641505612 分钟前
layui form禁用表单元素 layui如何disable一个输入框
jvm·数据库·python
赛恩斯14 分钟前
adb 的源代码分析,以及如何改造为外网远程连接的方式
数据库·adb
weixin_4585801215 分钟前
CSS如何为Bootstrap模态框增加进入动画_利用transition实现
jvm·数据库·python
资深数据库专家20 分钟前
恒生 PK 中电金信
数据库·oracle·人大金仓数据库
justjinji21 分钟前
Go语言如何用Jaeger_Go语言Jaeger链路追踪教程【完整】
jvm·数据库·python