根据给定的字段是否已经存在于散列里面,HSET
命令的行为也会有所不同:
图 3-3 展示了以上这些 HSET
命令对散列 article::10086
进行设置的整个过程。
图 3-3 HSET
命令对 进行设置的整个过程
HSET
命令执行之前的数据库, article::10086
散列并不存在执行 HSET article::10086 title "greeting"
命令之后执行 HSET article::10086 content "hello world"
命令之后执行 HSET article::10086 author "peter"
命令之后执行 HSET article::10086 created_at "1442744762.631885"
命令之后
散列包含的字段就跟数据库包含的键一样,在实际中都是以无序方式进行排列的,不过本书为了展示方便,一般都会把新字段添加到散列的末尾,排在所有已有字段的后面。
正如之前所说,如果用户在调用 HSET
命令时,给定的字段已经存在于散列当中,那么 命令将使用用户给定的新值去覆盖字段已有的旧值,并返回 0
表示这是一次更新操作。
比如说,以下代码就展示了如何使用 HSET
命令去更新 article::10086
散列的 title
字段以及 content
字段:
图 3-4 被更新之后的 article::10086
散列