赞
踩
简介
Redis hash是一个键值对集合
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
类似Java里面的Map<String,Object>
基本命令
hset命令
- #给<key>集合中的<field>键赋值<value>
- hset <key> <field> <value>
- #写个demo
- hset user:001 id 1
- hset user:001 name zhangsan
- #注意:如果赋值已经存在的field,则覆盖旧的值
hget命令
- #从<key1>集合<field>取出value
- hget <key1> <field>
- #写个demo
- hget user:001 id #返回1
- hget user:001 name #返回zhangsan
hmset命令
- ##批量设置hash的值
- hmset <key1> <field1> <value1> <field2> <value2>...
- #写个demo
- hmset user:002 id 2 name lisi age 18 #{user:002:{id:2,name:lisi,age:18}}
hexists命令
- hexists <key1><field>
- #写个demo
- hexists user:001 age #检查user:001有没有对应field为age
hkeys命令
- #列出该hash集合的所有field
- hkeys <key>
- #写个demo
- hkeys user:001
- #返回结果
- id、name、age
hvals命令
- #列出该hash集合的所有value
- hvals <key>
hincrby命令
- #为哈希表key中的域field的值加上增量1,这个field的数据类型必须为integer,且increment必须填写,不可缺失
- hincrby <key> <field> <increment>
- #写个demo
- hincrby user:002 age 3 #给user:002的年龄增加3
hsetnx命令
- #将哈希表中的域field的值设置为value,当且仅当域field不存在
- hsetnx <key> <field> <value>
- #下面这个语句赋值会失败,因为user:002的age已经存在
- hsetnx user:002 age 18
- #与hset的区别:
- hset对已经存在的field赋值会覆盖旧的值
Hash使用的数据结构
Hash类型对应的数据结构是两种:ziplist(压缩列表),hashtable(哈希表)。当field-value长度较短且个数较少时,使用ziplist,否则使用hashtable
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。