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 ...
随机推荐
- pytest封神之路第五步 参数化进阶
用过unittest的朋友,肯定知道可以借助DDT实现参数化.用过JMeter的朋友,肯定知道JMeter自带了4种参数化方式(见参考资料).pytest同样支持参数化,而且很简单很实用. 语法 在& ...
- 刷题[BJDCTF 2nd]简单注入
解题思路 打开发现登陆框,随机输入一些,发现有waf,然后回显都是同样的字符串.fuzz一波,发现禁了挺多东西的. select union 等 这里猜测是布尔盲注,错误的话显示的是:You konw ...
- java中的几种基础排序
import java.util.Random;import java.util.Arrays; public class Puppy { public static void main(St ...
- Processing 高效控制管理图形方法(二)
之前在CSDN上发表过: https://blog.csdn.net/fddxsyf123/article/details/70992924
- Vue登录注册,并保持登录状态
关于vue登录注册,并保持登录状态,是vue玩家必经之路,网上也有很多的解决方法,但是有一些太过于复杂,新手可能会看的一脸懵逼,现在给大家介绍一种我自己写项目在用而且并不难理解的一种方法. 项目中有一 ...
- Actor:人生如戏全靠演技--“三维度”逻辑编程语言的设计(3)
在上一篇介绍了逻辑编程的作用,介绍了逻辑编程中的一些概念,包括逻辑程序的结构:事实.规则和问题:知识的表达方式:谓词演算.产生式规则,以及这些概念与三维度(角色+场景+时间)理论的契合关系,正式提出了 ...
- Python_快速安装第三方库-pip
如何快速安装第三方库? 通过python 豆瓣园源https://pypi.douban.com/simple/进行安装,利用国内网速 如何安装? pip -i install https://pyp ...
- Python面向对象基础变量
In [1]: class A: ...: NAME = 'A' # 类的直接下级作用域 叫做类变量 ...: def init(self, name): ...: self.name = name ...
- 初识HTTP 图解 形象生动
使用软件: 通信猫 请自行下载 使用平台: win7 360浏览器 当前PC连接的是无线网,所以第2步查看的是 无线局域网适配器上的IP地址
- pytest之将多个测试用例放在一个类中,生成唯一临时文件夹
将多个测试用例放在一个类中 简单来说就是将多个测试用例放到类中,通过pytest去管理,这和Testng很像.示例代码如下: """ 将多个测试用例放到一个类中执行 &q ...