文章插图
文章插图
看到这,一切就都解释通了,非常简单,就只是申请内存这一步的区别而已 。但对于我们这些什么简单的事情都要包装成高端大气话术的程序员来说,还是要想办法装一下,我们总结出使用 embstr 编码相比于 raw 编码的好处:
- embstr 只申请了一次内存,而 raw 需要申请两次,因此节约了一次申请内存的消耗
- 释放 embstr 只需要释放一次内存,而 raw 需要两次,因此节约了一次释放内存的消耗
- embstr 的 redisObject 和 sdshdr 放在一块连续的内存里,因此更能利用 缓存 带来的优势
不同编码类型的条件上个部分我们通过字符串,观察了不同的编码类型,也理解了为什么要有不同的编码类型的实现 。接下来我们总结下其他的对象与编码类型,原理就不深入源码分析了,和字符串的基本思想是一样的 。
字符串的编码类型
- int:8 个字节的长整型
- embstr:小于等于 39 字节的字符串
- raw:大于 39 字节的字符串
- ziplist:元素个数小于 512,且所有值都小于 64 字节
- hashtable:除上述条件外
- ziplist:元素个数小于 512,且所有值都小于 64 字节
- hashtable:除上述条件外
- intset:元素个数小于 512,且所有值都是整数
- hashtable:除上述条件外
- ziplist:元素个数小于 128,且所有值都小于 64 字节
- hashtable:除上述条件外
推荐阅读
- 严嵩是不是宦官,严嵩是怎么死的?严嵩是哪个朝代的?
- 面试官:数据库自增 ID 用完了会咋样?
- 鸿蒙系统官方测试:请摘掉你的有色眼镜,看官方的正确答案
- 严嵩是不是宦官,严嵩与魏忠贤是一个朝代吗
- 前端大佬问我MySQL怎么查询最近10分钟的数据?我是这么回答他的
- 刘备登基后官职最大的是谁,刘备称帝后官职排名
- 求职|2022国考面试技巧:公务员面试中求职动机如何说
- 某厂面试:如何优雅使用 SPI 机制
- 韩信是哪一部书里的人物,韩信出身寒微,曾在项羽帐下担任郎官,后在刘邦手下担任
- 应届生|跟应届生谈经验,跟有经验的人谈年龄,原来面试的“套路”真不少