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 ...
随机推荐
- Jackson反序列化枚举类型解决方案
BUG描述 在使用SpringBoot自带的jackson处理客户端提交的消息体反序列化时,遇到一个非常棘手的情况 客户端发送如下json {"content":"654 ...
- ServletContex对象学习
问题: 不同的用户使用相同的数据 解决: ServletContext对象 特点: 服务器创建 用户共享 作用域: 整个项目内 生命周期: 服务器启动到服务器关闭 使用: 1.获取SercvletCo ...
- 论文阅读笔记: Natural Language Inference over Interaction Space
这篇文章提出了DIIN(DENSELY INTERACTIVE INFERENCE NETWORK)模型. 是解决NLI(NATURAL LANGUAGE INFERENCE)问题的很好的一种方法. ...
- Spring Eureka 本地Docker集群部署
故事背景 最近因为产线使用的服务与发现服务,使用的是Spring Cloud Eureka集群部署,为了以后调试产线的问题,想在本地搭建和产线一样的环境.产线的所有服务都是基于K8s和Docker部署 ...
- 面试可能遇到的关联式容器(map、set等)相关问题
>>>. map与set的区别是什么,各有哪些优势? map中存储的数据是以键值对(key - value)形式并且通过排序(比较key,默认以 '<' 方式排序)存在的( ...
- 自定义带边框TextView--边框粗细不一的问题
自定义带边框TextView 给textview加边框 最low的做法.textview外层套一层布局,然后给布局加边框样式(这么弱的做法,不能这么干) 自定义控件 canvas.drawLines ...
- 【extern】【static】
C语言根据变量的生存周期来划分,可以分为静态存储方式和动态存储方式. 静态存储方式:是指在程序运行期间分配固定的存储空间的方式.静态存储区中存放了在整个程序执行过程中都存在的变量,如全局变量. 动态存 ...
- 05 C语言的数据类型
C语言的数据类型 在C 中,数据类型是用来声明不同类型的变量或函数的一个广泛的概念.变量的数据类型决定了变量存储占用的空间大小,以及如何去解释存储的位模式. C 中的数据类型可分为以下几大类: 序号 ...
- ThreeJS系列1_CinematicCameraJS插件详解
ThreeJS系列1_CinematicCameraJS插件详解 接着上篇 ThreeJS系列1_CinematicCameraJS插件介绍 看属性的来龙去脉 看方法作用 通过调整属性查看效果 总结 ...
- C# OOP编程
1:面向对象的概念:什么是类.对象.以及类与对象的关系. 面向对象三大特征: 封装/继承/多台 2:封装性: 用访问修饰符来体现封装性. Public 公共的/ private 私有的/Protect ...