redis内存优化方法介绍


本文摘自PHP中文网,作者尚,侵删。

一、特殊编码:

自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化。其中,Hash、List和由Integer组成的Sets都可以通过该方式来优化存储结构,以便占用更少的空间,在有些情况下,可以省去9/10的空间。(推荐:redis视频教程)

这些特殊编码对于Redis的使用而言是完全透明的,事实上,它只是CPU和内存之间的一个交易而言。如果内存使用率方面高一些,那么在操作数据时消耗的CPU自然要多一些,反之亦然。在Redis中提供了一组配置参数用于设置与特殊编码相关的各种阈值,如:

1

2

3

4

5

6

7

8

9

#如果Hash中字段的数量小于参数值,Redis将对该Key的Hash Value采用特殊编码。

hash-max-zipmap-entries 64

#如果Hash中各个字段的最大长度不超过512字节,Redis也将对该Key的Hash Value采用特殊编码方式。

hash-max-zipmap-value 512

#下面两个参数的含义基本等同于上面两个和Hash相关的参数,只是作用的对象类型为List。

list-max-ziplist-entries 512

list-max-ziplist-value 64

#如果set中整型元素的数量不超过512时,Redis将会采用该特殊编码。

set-max-intset-entries 512

倘若某个已经被编码的值再经过修改之后超过了配置信息中的最大限制,那么Redis会自动将其转换为正常编码格式,这一操作是非常快速的,但是如果反过来操作,将一个正常编码的较大值转换为特殊编码,Redis的建议是,在正式做之前最好先简单测试一下转换效率,因为这样的转换往往是非常低效的。

阅读剩余部分

相关阅读 >>

Redis sentinel client如何使用

Redis如何设置开机自启动

Redis一个实例能存多少个key

Redis实现订单自动过期功能的源码分享

Redis怎么保证高可用

Redis设置密码的方法详解

Redis怎么安装

Redis数据库免费么?

Redis什么时候用

如何保证Redis中都是热点数据

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...