Redis如何做内存优化?

Redis如何做内存优化?

1、缩短键值的长度

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

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

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

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

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

3、字符串优化

4、编码优化

5、控制key的数量

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

相关推荐
Discipline~Hai6 分钟前
Linux网络编程05-sqlite3数据库
linux·c语言·网络·数据库·sqlite·linux应用软件编程
青禾83712 分钟前
一文入门 MySQL + MongoDB + Redis:三大数据库核心知识
数据库·mysql·mongodb
努力努力再努力wz15 分钟前
【Redis入门系列】:从 RESP 协议到 redis-plus-plus:Redis 客户端编程与 C++ 接口设计
开发语言·数据库·c++·redis·分布式·缓存·架构
志栋智能17 分钟前
凌晨3点的告警,如何用AI在5分钟内完成定界?
运维·服务器·数据库·人工智能·自动化
G.E.M.小白21 分钟前
【SQLite3 数据库】从安装、SQL 操作到 C/C++ API 实战
数据库·oracle·sqlite3
神明不懂浪漫34 分钟前
【第一章】MySQL简介
数据库·经验分享·笔记·mysql·oracle
山岚的运维笔记1 小时前
mysql 专业笔记 -- 第 14 章:GROUP BY
运维·数据库·笔记·后端·学习·mysql·dba
zcn1261 小时前
不同列or运算优化经验
数据库·sql优化改写
ZYJCSZKJ3 小时前
基于地理位置围栏的短视频POI团购系统:LBS空间索引与流量分发实践
java·服务器·数据库
Mr.朱鹏11 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库