redis 使用hash代替string类型

文章建议在能使用Hash的情况下使用Hash,而非Redis的String类型,因为String在存储值时可能会浪费大量内存。String的两种编码格式,embstr和raw,分别针对不同长度的值,但都可能造成空间开销。对于数值型数据,int编码可以节省空间,但仅限于整型。因此,如果不关心额外的内存消耗,可以使用String,否则应考虑更高效的存储策略。
摘要由CSDN通过智能技术生成

能用hash的情况下,就用hash,不推荐使用redis的string类型,因为string存储值,底层会浪费大量的内存空间

 设置值比较长的name编码格式是raw,设置值比较短的name,编码格式是embstr.

如果使用raw编码,则每次开辟空间都会留一些空间,如果数据长度变了,则内存也会继续变大。。
如果你使用embstr :它每次最多开辟64个字节的空间,只有44个字节时存储我们数据的。
如果你在操作的redis的时候,内容长度小于等于44,则会自动选择embstr编码开辟空间。
如果你操作redis的时候,内容长度大于44的,使用ram编码,浪费 空间 。
还有一个int:只是针对于写的数据是数值,才行。。切记只有整型才是int类型  
底层就是因为开辟的组件的原因。。。所以会浪费空间,尽量不要使用string。。除非你不在乎那些内存,就这样搞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值