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