Redis学习笔记(五)——数据结构之哈希(Hash)
一、介绍
Redis hash是一个string类型的field和value的映射表,hash特别设于用于存储对象。
Redis中每个hash可以存储232 - 1 键值对(40多亿)。
基本命令:
- 添加/更新:
hset key field value (将hash表key中的字段field的值设为value)
hsetnv key field value (只有在字段field不存在时,设置hash表字段的值)
hmset key field1 value1 [field2 value2 ...] (同时将多个fiedl-value(域-值)对设置到hash表key中)
hsetnx key field value (只有在字段field不存在时,设置hash表字段的值)
- 查询:
hkeys key (获取所有hash表中的字段)
hvals key (获取hash表中所有的值)
hlen key (获取hash表中的字段数量)
hgetall key (获取hash表中指定key的所有字段和值)
hget key field (获取存储在hash表中指定字段的值)
hmget key field1 [field2 ...] (获取所有给定字段的值)
- 删除:
hdel key field [field2 ...] (删除一个或多个hash表字段)
- 判断:
hexists key field (查看hash表key中,指定的字段是否存在(1: 存在, 0: 不存在))
- 数值:
hincrby key field increment (为hash表key中的指定字段的整数值上增量increment)
hincrbyfloat key field incremnent (为hash表key中的指定字段的浮点数值加上增量increment)
二、操作
- 添加/更新:
1、hset key field value (将hash表key中的字段field的值设为value)

2、hsetnv key field value (只有在字段field不存在时,设置hash表字段的值)

字段如果已存在,设置的时候失败返回0;成功返回1
3、hmset key field1 value1 [field2 value2 ...] (同时将多个fiedl-value(域-值)对设置到hash表key中)

- 查询:
1、hkeys key (获取所有hash表中的字段)

2、hvals key (获取hash表中所有的值)

3、hlen key (获取hash表中的字段数量)

4、hgetall key (获取hash表中指定key的所有字段和值)

5、hget key field (获取存储在hash表中指定字段的值)

6、hmget key field1 [field2 ...] (获取所有给定字段的值)

如果给定的字段不存在的话,返回(nil)
- 删除:
1、hdel key field [field2 ...] (删除一个或多个hash表字段)

- 判断:
1、hexists key field (查看hash表key中,指定的字段是否存在(1: 存在, 0: 不存在))

- 数值:
1、hincrby key field increment (为hash表key中的指定字段的整数值上增量increment)

hash2 的 age字段 值为20,接下增加10

变成30
Redis学习笔记(五)——数据结构之哈希(Hash)的更多相关文章
- Redis学习笔记--五种数据类型的使用场景
String 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- Redis 学习笔记五 经常使用php函数
PHPRedis的安装在这里: http://blog.csdn.net/xundh/article/details/46288277 键值操作 $redis = new Redis(); $redi ...
- Redis学习笔记五:独立功能之事务
Redis 事务提供了一种将多个命令请求打包,然后一次性.按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断,会将事务中的所以命令都执行完毕才去处理其他客户端的命令请求. 事务的实现 事务 ...
- StackExchange.Redis学习笔记(五) 发布和订阅
Redis命令中的Pub/Sub Redis在 2.0之后的版本中 实现了 事件推送的 发布订阅命令 以下是Redis关于发布和订阅提供的相关命令 SUBSCRIBE channel [channe ...
- python学习笔记五——数据结构
4 . python的数据结构 数据结构是用来存储数据的逻辑结构,合理使用数据结构才能编写出优秀的代码.python提供的几种内置数据结构——元组.列表.字典和序列.内置数据结构是Python语言的精 ...
- Redis学习笔记一:数据结构与对象
1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...
- Redis学习笔记~目录
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...
- Redis学习笔记(二) Redis 数据类型
Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) ...
- Redis学习笔记(3)——Redis的命令大全
Redis是一种nosql数据库,常被称作数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted se ...
- Redis学习笔记(1)——Redis简介
一.Redis是什么? Remote Dictionary Server(Redis) 是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value ...
随机推荐
- dubbo学习(六)dubbo管理控制台
管理控制台的安装与使用 下载地址:https://github.com/apache/dubbo-admin/tree/master(包含管理控制台和监控中心) PS: 下载前要选择master分支 ...
- Bulldog1靶机渗透
Bulldog1靶机渗透 扫描一下内网存活主机,发现192.168.114.144这个存活主机. 进行端口扫描:23,80,8080端口均开放. 进行网页访问,暂时没有什么发现,扫一下网站的目录. 发 ...
- ORA-00060: Deadlock detected 模拟死锁产生与解决方案
死锁:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程 ...
- IIS网站建立好后如何更改绑定IP或端口号
写在前面的话 我们利用IIS建立网站的时候,一般都是设定好网站名称和物理地址,直接下一步建立完成了.正常访问都没问题,但如果我们这时候想要更改访问的IP或者端口号,打开了很多设置项就是没找到设置的地方 ...
- Django-当前菜单激活状态-模版 request | slice
如何满足这个需求? 1. view中传递过来一个当前页面的参数标识,通过模版语言进行判断 {% if current_page == 'index' %}active{% endif %} # 每一个 ...
- Harmony OS 开发避坑指南——源码下载和编译
Harmony OS 开发避坑指南--源码下载和编译 本文介绍了如何下载鸿蒙系统源码,如何一次性配置可以编译三个目标平台(Hi3516,Hi3518和Hi3861)的编译环境,以及如何将源码编译为三个 ...
- JD-GUI反编译jar包为Java源代码
程序员难免要借鉴其他java工程的代码.可有时只能拿到.calss文件,jar包或者war包,这个时候要求程序员能熟练的将这些类型文件反编译为Java代码并形成可编译运行的项目.本文介绍的反编译工具是 ...
- 注册表“CLSID”下面的“InprocServer32”子键是什么?
这个键值有什么用?每个CLSID下基本都有,即使没有其它项也会有此项.谁能详细说下,"InprocServer32"子键起什么作用?谢了. 刚好遇到这问题了,这是我找到的:Inpr ...
- Jmeter之『JSR223脚本』
Json处理(通过JS) 对于Json字符串,需要使用单引号『''』(因为Json中已存在双引号) // String转为Object var jsonObj = JSON.parse('${data ...
- frp内网穿透
原理 frp(fast reverse proxy)分为Server端和Client端,Server端安装在带有公网IP的服务器上,Client安装在内网环境但能上网的普通PC中. 流程: Serve ...