Redis 哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
实例:
127.0.0.1:6379> HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
OK
127.0.0.1:6379> HGETALL runoobkey
1) "name"
2) "redis tutorial"
3) "description"
4) "redis basic commands for caching"
5) "likes"
6) "20"
7) "visitors"
8) "23000"
1.hset
描述:
将哈希表key中的域field的值设为value。
如果key不存在,一个新的哈希表被创建并进行HSET操作。
如果域field已经存在于哈希表中,旧值将被覆盖。
参数:key field value
返回值:
如果field是哈希表中的一个新建域,并且值设置成功,返回1。
如果哈希表中域field已经存在且旧值已被新值覆盖,返回0。
$redis->hSet('h', 'key1', 'hello');
2.hSetNx
描述:
将哈希表key中的域field的值设置为value,当且仅当域field不存在。
若域field已经存在,该操作无效。如果key不存在,一个新哈希表被创建并执行HSETNX命令。
参数:key field value
返回值:
设置成功,返回1。如果给定域已经存在且没有操作被执行,返回0。
如果key不存在,一个新的哈希表被创建并进行HSET操作。成功返回1
如果域field已经存在于哈希表中,旧值将被覆盖。成功返回0
将哈希表key中的域field的值设置为value,当且仅当域field不存在。设置成功返回1
若域field已经存在,该操作无效。返回0
$redis->hSetNx('h', 'key1', 'hello');
3.hGet
描述:给定域的值。
参数:key
返回值:当给定域不存在或是给定key不存在时,返回nil。
$redis->hGet('h', 'key1');