[redis数据结构]之 hash类型

在讲解语法知识之前,教你如何掌握各种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语法。

时间: 2024-10-01 15:11:29

[redis数据结构]之 hash类型的相关文章

Redis数据类型之HASH类型

Web程序猿博客:http://blog.csdn.net/thinkercode HASH类型-特点 Redis hash 是一个 string 类型的 field 和 value 的映射表.它的添加. 删除操作都是 O(1) (平均) . hash 特别适合用于存储对象. 相较于将对象的每个字段存成单个 string 类型. 将一个对象存储在 hash 类型中会占用更少的内存,并且可以更方便的存取整个对象.省内存的原因是新建一个 hash 对象时开始是用 zipmap(又称为 small h

redis string和hash类型操作

Redis 的数据类型 String类型及操作 String是最简单的类型,一个Key对应一个Value,sting类型是二进制安全的.Redis的string可以包含任何数据,比如jpg图片或者序列化的对象. 例子: set name gxj get name 输出:gxj Setnx:设置key对应的值为string类型的value,如果key 已经存在,则返回0,nx是not exist的意思. 例子: set name zjz 回车:则返回0,如果不存在,则会设置值 setex: 设置k

[redis数据结构]之 list类型

redis中的list集合数据类型,是一种双向链表的结构,list存在的元素是任意的string类型.那么redis是如何管理和操作list集合数据的呢,下文将阐述redis list集合的基本语法使用: 1.添加/创建一个list对象 # 分为栈式和队列两种添加 语法1:lpush [list集合] [元素] # 栈式添加元素,将list集合看成是一个栈类型,先进后出: 范例:lpush list1 hello       lpush list1 world 阐述:遍历集合结果为:world,

[redis数据结构] 之 string类型

本文介绍redis的string类型的命令使用方式,string类型是二进制安全的,可以存放任何数据类型,图片.对象等等都是可以的.下面将罗列与string类型相关的语法操作: 1.如何添加一个string 命令:set 添加一个string对象 语法:set [key] [value] 范例:set name wangzp  阐述:添加了一个名为name的string对象,值为'wangzp':如果之前已经存在name对象,那么将覆盖原来的对象. 2.如何获取一个string 命令:get 获

33. Python redis的 hash类型操作 其他常用操作

1.hash 类型操作 import redis pool = redis.ConnectionPool(host="192.168.48.131", port=6379, db=0) r = redis.Redis(connection_pool=pool) #hash类型操作:是一个name对应一个字典 #语法 hset(name, key, value) #name 对应的hash中设置一个键值对(不存在,则创建键值对:否则,修改键值对) # 语法参数解释: name: redi

Redis 笔记与总结2 String 类型和 Hash 类型

Linux 版本信息: cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息) CentOS release 6.6 (Final) (一)String 类型 [定义]string 是最简单的类型,你可以理解成与 Memcached 是一模一样的类型,一个 key 对应一个 value,其上支持的操作与 Memcached 的操作类似.但它的功能更丰富. string 类型是二进制安全的.意思是 redis 的 string 可

redis数据结构详解之Hash(四)

序言 Hash数据结构累似c#中的dictionary,大家对数组应该比较了解,数组是通过索引快速定位到指定元素的,无论是访问数组的第一个元素还是最后一个元素,所耗费的时间都是一样的,但是数组中的索引却没有实际意义,他只是一个位置而已.而我们在查找某个元素时,一般都会使用有意义的字段来做索引,这就产生啦dictionary.其实dictionary的实现,就是让key跟下标索引有一定的关系,所实现的,让他的查找算法复杂度变为常数O(1). 扯完上面的蛋,我来说下今天要说redis中的Hash命令

二:redis 的hash类型相关操作

=====================二种:hash类型================== 介绍:redis -> hash是一个string类型的field和value的映射表 hash特别适合对应存储对象,相较于将对象的每个字段存成单个string类型 将一个对象存储在hash类型中会占用更少的内存,并且可以方便的存取整个对象 0:hset *如果 key(就是hash表) 不存在,一个新的哈希表被创建并进行 HSET 操作 设置hash field为指定值,如果key不存在,则先创建

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