• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
人生之路,职业之路
读书使人充实,交谈使人机敏,写记使人精确;
“动因+兴趣”——决心-持之以恒-见效
博客园    首页    新随笔    联系   管理    订阅  订阅
Redis学习第三课:Redis Hash类型及操作

Redis hash是一个string类型的field和value的映射表。它的添加、删除操作都是O(1)(平均)。hash特别适用于存储对象。相较于对象的每个字段存在单个string类型。将一个对象存储在hash类型中会占用更小的内存,并且可以更方便的存取整个对象。

hset:设置hash field为指定值,如果key不存在,则先创建。

hget:获取指定的hash field。

127.0.0.1:6379>hset user:001 name Tom

(integer)1

127.0.0.1:6379>hset user:001 age 28

(integer)1

127.0.0.1:6379>hget user:001 name

"Tom"

hsetnx:设置hash field为指定值,如果key不存在,则先创建。如果存在则返回0。

127.0.0.1:6379>hset user:001 name Jack

(integer)0

hmset:同时设置hash的多个字段。

hmget:获取全部指定的hash field。

127.0.0.1:6379> hmset user:002 id 1 name Mark sex male age 29

OK

127.0.0.1:6379> hget user:002

(error) ERR wrong number of arguments for 'hget' command

127.0.0.1:6379> hmget user:002 id name male age

1) "1"

2) "Mark"

3) (nil)

4) "29"

hincrby:指定的hash field加上给定值。

127.0.0.1:6379> hincrby user:002 age 6

(integer) 35

127.0.0.1:6379> hincrby user:002 age -2

(integer) 33

hexists:测试指定field在hash中是否存在。

127.0.0.1:6379> hexists user:002 sex

(integer) 1

127.0.0.1:6379> hexists user:001 sex

(integer) 0

hlen:返回指定hash的field数量。

127.0.0.1:6379> hlen user:001

(integer) 2

127.0.0.1:6379> hlen user:002

(integer) 4

hdel:删除指定hash的field。

127.0.0.1:6379> hdel user:002 sex

(integer) 1

127.0.0.1:6379> hget user:002 sex

(nil)

hkeys:返回hash的所有field。

127.0.0.1:6379> hkeys user:002

1) "id"

2) "name"

3) "age"

127.0.0.1:6379> hkeys user:001

1) "name"

2) "age"

hvals:返回hash的所有value。

127.0.0.1:6379> hvals user:002

1) "1"

2) "Mark"

3) "33"

hgetall:获取某个hash中全部的field及value。

127.0.0.1:6379> hgetall user:002

1) "id"

2) "1"

3) "name"

4) "Mark"

5) "age"

6) "33"

posted on 2015-06-17 10:10  FreeBird  阅读(25797)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3