Redis教程(十四):内存优化介绍
|
一、特殊编码: 自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化。其中,Hash、List和由Integer组成的Sets都可以通过该方式来优化存储结构,以便占用更少的空间,在有些情况下,可以省去9/10的空间。 从Redis 2.2开始,Redis提供了GETRANGE/SETRANGE/GETBIT/SETBIT四个用于字符串类型Key/Value的命令。通过这些命令,我们便可以像操作数组那样来访问String类型的值数据了。比如唯一标识用户身份的ID,可能仅仅是String值的其中一段子字符串。这样就可以通过GETRANGE/SETRANGE命令来方便的提取。再有就是可以使用BITMAP来表示用户的性别信息,如1表示male,0表示female。用这种方式来表示100,000,000个用户的性别信息时,也仅仅占用12MB的存储空间,与此同时,在通过SETBIT/GETBIT命令进行数据遍历也是非常高效的。 由于小的Hash类型数据占用的空间相对较少,因此我们在实际应用时应该尽可能的考虑使用Hash类型,比如用户的注册信息,这其中包括姓名、性别、email、年龄和口令等字段。我们当然可以将这些信息以Key的形式进行存储,而用户填写的信息则以String Value的形式存储。然而Redis则更为推荐以Hash的形式存储,以上信息则以Field/Value的形式表示。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 您可以提供在Amazon EC2实例上运行SQL Serve
- sql-server – 视图上的NOLOCK,是否会传播到表中?
- Sql Server 2012 分页方法分析(offset and fetch)
- sql-server – 更改SQL Server中链接服务器的属性
- sql-server – 在SQL Server nvarchar(UCS-2)列中存储C#字符
- 生成连续日期的sql临时表到左外连接到
- MySQL错误ERROR 2002 (HY000): Cant connect to local MySQ
- SQL Server 删除数据库中重复数据的几个方法
- 数组 – 如何在PL / SQL函数中传递数组
- sql-server-2005 – 以字节为单位存储文件大小的最佳方法?
