Redis如何做内存优化?

Redis如何做内存优化?

1、缩短键值的长度

缩短值的长度才是关键,如果值是一个大的业务对象,可以将对象序列化成二进制数组;

首先应该在业务上进行精简,去掉不必要的属性,避免存储一些没用的数据;

其次是序列化的工具选择上,应该选择更高效的序列化工具来降低字节数组大小;

以JAVA为例,内置的序列化方式无论从速度还是压缩比都不尽如人意,这时可以选择更高效的序列化工具,如: protostuff,kryo等
2、共享对象池

对象共享池指Redis内部维护[0-9999]的整数对象池。创建大量的整数类型redisObject存在内存开销,每个redisObject内部结构至少占16字节,甚至超过了整数自身空间消耗。所以Redis内存维护一个[0-9999]的整数对象池,用于节约内存。 除了整数值对象,其他类型如list,hash,set,zset内部元素也可以使用整数对象池。因此开发中在满足需求的前提下,尽量使用整数对象以节省内存。

3、字符串优化

4、编码优化

5、控制key的数量

亲爱的,你要努力,你想要的的,你要自己给自己。------酷酷的韩

相关推荐
考虑考虑20 分钟前
Redis8中的布谷鸟过滤器
redis·后端·程序员
只因在人海中多看了你一眼1 小时前
B.50.10.06-NoSQL数据库与电商应用
数据库·nosql
烟雨归来1 小时前
3 个 ASM 磁盘故障案例,从故障诊断到解决方案
数据库·oracle
时序数据说1 小时前
时序数据库IoTDB的六大实用场景盘点
大数据·数据库·物联网·时序数据库·iotdb
MyFreeIT1 小时前
MySQL Function
数据库·mysql
白鹭2 小时前
MySQL主从复制进阶(GTID复制,半同步复制)
linux·运维·数据库·mysql·集群
叫我Zoe就行2 小时前
MySQL集群——主从复制
linux·数据库·学习·mysql
叫我龙翔2 小时前
MySQL】从零开始了解数据库开发 --- 表的操作
数据库·mysql·数据库开发
叫我龙翔3 小时前
【MySQL】从零开始了解数据库开发 --- 初步认识数据库
数据库·mysql·数据库开发
Apache IoTDB3 小时前
9.4 直播预告|工业时序数据库:从采数到智能决策
数据库·时序数据库