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

设置值比较长的name编码格式是raw,设置值比较短的name,编码格式是embstr.
如果使用raw编码,则每次开辟空间都会留一些空间,如果数据长度变了,则内存也会继续变大。。
如果你使用embstr :它每次最多开辟64个字节的空间,只有44个字节时存储我们数据的。
如果你在操作的redis的时候,内容长度小于等于44,则会自动选择embstr编码开辟空间。
如果你操作redis的时候,内容长度大于44的,使用ram编码,浪费 空间 。
还有一个int:只是针对于写的数据是数值,才行。。切记只有整型才是int类型
底层就是因为开辟的组件的原因。。。所以会浪费空间,尽量不要使用string。。除非你不在乎那些内存,就这样搞
文章建议在能使用Hash的情况下使用Hash,而非Redis的String类型,因为String在存储值时可能会浪费大量内存。String的两种编码格式,embstr和raw,分别针对不同长度的值,但都可能造成空间开销。对于数值型数据,int编码可以节省空间,但仅限于整型。因此,如果不关心额外的内存消耗,可以使用String,否则应考虑更高效的存储策略。

1326

被折叠的 条评论
为什么被折叠?



