第 8 章《对象》¶
64 页¶
在这一页的倒数第二段:
如果字符串对象保存的是一个字符串值, 并且这个字符串值的长度大于
32
字节, 那么字符串对象将使用一个简单动态字符串(SDS)来保存这个字符串值, 并将对象的编码设置为raw
。
在本书定稿之后,
Redis 将这个值从 32
改为了 39
,
所以我们也需要进行相应的更新,
修改之后的内容为:
如果字符串对象保存的是一个字符串值, 并且这个字符串值的长度大于
39
字节, 那么字符串对象将使用一个简单动态字符串(SDS)来保存这个字符串值, 并将对象的编码设置为raw
。
受此影响,
65 页的图 8-2 也要更新为以下模样(图中的 len
属性有改动):
而创建图 8-2 所示字符串的代码也要改为:
redis> SET story "Long, long, long ago there lived a king ..."
OK
redis> STRLEN story
(integer) 43
redis> OBJECT ENCODING story
"raw"
感谢 xp 反馈这个问题。
65 页¶
在这一页的中间开头第一段:
如果字符串对象保存的是一个字符串值, 并且这个字符串值的长度小于等于
32
字节, 那么字符串对象将使用embstr
编码的方式来保存这个字符串值。
在本书定稿之后,
Redis 将这个值从 32
改为了 39
,
所以我们也需要进行相应的更新,
修改之后的内容为:
如果字符串对象保存的是一个字符串值, 并且这个字符串值的长度小于等于
39
字节, 那么字符串对象将使用embstr
编码的方式来保存这个字符串值。
感谢 xp 反馈这个问题。
75 页¶
在 8.5 节开头的介绍内容中, 第二段代码:
redis> SAD Dfruits "apple" "banana" "cherry"
(integer)3
中的 SADD
命令印刷出错,
正确的代码应该为:
redis> SADD fruits "apple" "banana" "cherry"
(integer)3
感谢 zhkzyth 反馈这个错误。
77 页¶
8.6 节开头的第二段:
ziplist
编码的压缩列表对象使用压缩列表作为底层实现, ……
中的“压缩列表对象”有误,应该改为“有序集合对象”才对, 以下是修正之后的内容:
ziplist
编码的有序集合对象使用压缩列表作为底层实现, ……
80 页¶
本页的最后一句:
因为有序集合键的值为哈希对象, 所以用于有序集合键的所有命令都是针对哈希对象来构建的, 表 8-1 列出了其中一部分有序集合键命令, 以及这些命令在不同编码的哈希对象下的实现方法。
这里的“哈希对象”应该全部改为“有序集合对象”才对, 以下是修正后的正文:
因为有序集合键的值为有序集合对象, 所以用于有序集合键的所有命令都是针对有序集合对象来构建的, 表 8-1 列出了其中一部分有序集合键命令, 以及这些命令在不同编码的有序集合对象下的实现方法。
感谢 Andy 反馈这个问题。