您的位置:首页 > 理论基础 > 数据结构算法

[redis数据结构]之 hash类型

2014-09-03 09:30 260 查看
在讲解语法知识之前,教你如何掌握各种hash的基本潜规则,在不同的语言中,有点称之为hash、有的是map,但不管这么样,hash你可以看作是key-value一组的集合。我先将java中map的概念擅自的加入到redis的hash中,让我们更加容易的理解hash的潜规则:

一、hash潜规则

1、映射模型

值集合映射,键集合映射,Entry集合映射(key-value,有得称之为item(python))。
2、一般的方法列表

添加、删除、更新、判断键是否存在、对应映射模型的key集合、value集合、entry集合;

在其他语言中,基本上也包含上述的方法类型列表。

二、redis中的hash语法及其使用

1、如何添加hash表entry

# 添加一个元素到指定的hash表中,如果该hash表不存在,那么创建该hash表。
语法:hset [hash表名] [key] [value]

# 创建一个user1 hash表,并添加key=name,value=51cto的entry
范例:hset user1 name 51cto
2、如何获取hash表元素数据
# 获取指定hash表的key对应的value值,如果不存在返回nil
语法:hget [hash表名] [key]

# 返回51cto
范例:hget user1 name
3、如何删除hash表元素
# 删除指定hash表的entry
语法:hdel [hash表名] [key1][key2]...[keyn]

# 删除user1中的name entry
范例:hdel user1 name
4、如何判断hash表元素是否存在

# 判断hash表中是否存在指定key的实体
语法:hexists [hash表名] [key]

# 如果name存在,那么返回1,否则返回0
范例:hexists user1 name
5、如何获取hash表的大小

# 获取指定hash表的长度(大小)
语法:hlen [hash表名]

# 获取user1 hash表的长度
范例:hlen user1
6、hash表的映射模型

# 值映射模型:获取hash所有的值集合
语法:hvals [hash表名]

# 键映射模型:获取hash所有的键集合
语法:hkeys [hash表名]

# 实体映射模型:获取hash所有的实体集合
语法:hgetall [hash表名]
7、其他辅助工具
# 自增
语法:hincrby [hash表名] [key] [步长]

# 让user1中的age 对应的value自增1
范例:hincrby user1 age 1
注:本文讲述的仅仅是redis相关的hash语法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据类型 redis hash