redis的文档写的还是比较详细的,中文版: http://doc.redisfans.com/ 英文版:http://redis.io/commands。这篇文章主要是自己亲自实践一下redis的基本操作,做个备忘,加深印象。
HSET key field value
将哈希表 key 中的域 field 的值设为 value。如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。如果域 field 已经存在于哈希表中,旧值将被覆盖。
返回值:
如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。
如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。
如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。
例子:
redis> HSET website google "www.g.cn" # 设置一个新域
(integer) 1
redis> HSET website google "www.google.com" # 覆盖一个旧域
(integer) 0
HSETNX key field value
将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。若域 field 已经存在,该操作无效。如果 key 不存在,一个新哈希表被创建并执行 HSETNX 命令。
返回值:
设置成功,返回 1 。
如果给定域已经存在且没有操作被执行,返回 0 。
如果给定域已经存在且没有操作被执行,返回 0 。
例子:
redis> HSETNX nosql key-value-store redis
(integer) 1
redis> HSETNX nosql key-value-store redis # 操作无效,域 key-value-store 已存在
(integer) 0
HMSET key field value [field value ...]
同时将多个 field-value (域-值)对设置到哈希表 key 中。此命令会覆盖哈希表中已存在的域。如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。
返回值:
如果命令执行成功,返回 OK 。
当 key 不是哈希表(hash)类型时,返回一个错误。
当 key 不是哈希表(hash)类型时,返回一个错误。
例子:
redis> HMSET website google "www.google.com" yahoo "www.yahoo.com"
OK
redis> set name "aty"
OK
redis> HMSET name key "aty"
(error) WRONGTYPE Operation against a key holding the wrong kind of value
HGET key field
返回哈希表 key 中给定域 field 的值。
返回值:
给定域的值。
当给定域不存在或是给定 key 不存在时,返回 nil 。
当给定域不存在或是给定 key 不存在时,返回 nil 。
例子:
# 域存在
redis> HSET site redis redis.com
(integer) 1
redis> HGET site redis
"redis.com"
# 域不存在
redis> HGET site mysql
(nil)