Redis 数据结构 -- 哈希

  hash 是 一个 String 类型的field 和 value 的映射表

  hash 的键值 对在内存中的一种无序的状态

命令 说明 备注
hdel key field1 [ field2..... ] 删除 hash 结构中的 某个 (些 ) 字段 可以进行多个字段的删除
hexists key field 判断 hash 结构 中 是否存在 field 字段 存在返回 1 ,否则返回 0
hgetall key 获取所有hash结构中的键值 返回键 和 值
hincrby key field increment 指定给hash 结构 中的某一个字段加上一个整数 要求该字段也是整数字符串
hincrbyfloat key field increment 指定给hash 结构 中的某一字段加上一个浮点数 要求该字段也是数字型字符串
hkeys key 返回 hash 中 所有的键 --
hlen key 返回hash 中 键值对的数量 --
hmget key field1 [field2 .... ] 返回 hash 中 指定 的键 的值 ,可以是多个 依次返回
hmest key field1 value1 [field2 ....] 在 hash 结构中 设置多个键值对 单个设值
hset key filed value 在 hash 结构中 设置键值对 单个设值
hsetnx key field value 当hash 结构 中 不存在对应的键值,才设置值 --
hvals key 获取hash 结构中所有的值 --
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
127.0.0.1:6379> hmset hash f1 val1 f2 val2
OK
127.0.0.1:6379> hset hash f3 6
(integer) 1
127.0.0.1:6379> hexists hash f2
(integer) 1
127.0.0.1:6379> hgetall hash
1) "f1"
2) "val1"
3) "f2"
4) "val2"
5) "f3"
6) "6"
127.0.0.1:6379> hincrby hash f3 2
(integer) 8
127.0.0.1:6379> hincrbyfloat hash f3 0.8
"8.800000000000001"
127.0.0.1:6379> hkeys hash
1) "f1"
2) "f2"
3) "f3"
127.0.0.1:6379> hlen hash
(integer) 3
127.0.0.1:6379> hmget hash f1 f2
1) "val1"
2) "val2"
127.0.0.1:6379> hsetnx key f4 val4
(integer) 1
127.0.0.1:6379> hvals hash
1) "val1"
2) "val2"
3) "8.800000000000001"
127.0.0.1:6379> hdel hash f1
(integer) 1
127.0.0.1:6379> hkeys hash
1) "f2"
2) "f3"

角色hash 结构

role_1 role_1
field value
id 001
roleName oukele
age 19
1
2
3
4
5
6
7
8
9
10
11
12
13
127.0.0.1:6379> hmset role_1 id: 001 roleName: oukele age: 19
OK
127.0.0.1:6379> hgetall role_1
1) "id:"
2) "001"
3) "roleName:"
4) "oukele"
5) "age:"
6) "19"
127.0.0.1:6379> hget role_1 roleName:
"oukele"
127.0.0.1:6379> hlen role_1
(integer) 3

  参考地址:http://redisdoc.com/

Redis hash结构 和常用命令的更多相关文章

  1. Redis 字符串结构和常用命令

    字符串是 Redis 最基本的数据结构,它将以一个键 和一个值 储存在 Redis 内部. 字符串的一些基本命令 命令 说明 备注 set key value 设置键值对 最常用的写入命令 get k ...

  2. Redis 链表结构 和 常用命令

    Redis 数据结构 --链表(linked-list) 命令 说明 备注 lpush key node1 [node2 ...] 把节点 node1 加入到 链表最左边 如果是 node1.node ...

  3. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...

  4. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  5. Redis的数据类型及其常用命令

    快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...

  6. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

  7. redis学习-集合set常用命令

    redis学习-集合set常用命令   1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...

  8. Linux课程---4、Linux目录结构及常用命令(目录结构)

    Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...

  9. redis的安装和常用命令

    一.redis的安装 1.windows安装redis 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这 ...

随机推荐

  1. CF176E Archaeology(set用法提示)

    题目大意: 给一棵树,每次激活或熄灭一个点,每次问这些点都联通起来所需的最小总边权 分析: 若根据dfs序给所有点排序,为$v1,v2,v3....vk$,那么答案就是$(dis(v1,v2)+dis ...

  2. Lua操作符的优先级

    lua 操作符的优先级 lua操作符的优先级 如表所示(从高到低) 在二元操作符中,除了指数操作符 “^” 和连接操作符  “..”  是 ”右结合” 的,是所有其他操作符都是 “左结合” 的.因此如 ...

  3. Oracle最大游标数控制

    /************************************************************************ ********* Oracle最大游标数控制 ** ...

  4. Linux的安装教程

    CentOS 6 + VMWare: 资源:https://pan.baidu.com/s/1AA4gaMpaoVaMor-tRU-n7A  提取码:6e8r    ( 内附 VMWare 14 激活 ...

  5. 33.bucket与metric核心概念讲解

    主要知识点: bucket与metric核心慨念 一.核心慨念 1.bucket:一个数据分组 比如有下面几条数据: city name 北京 小李 北京 小王 上海 小张 上海 小丽 上海 小陈   ...

  6. 使用androidstudio 分析内存泄漏

    分析内存泄漏 http://www.jianshu.com/p/c49f778e7acf

  7. asp.net 跨域问题

    asp.net 跨域问题 解决方案1: public void ProcessRequest(HttpContext context) { //解决跨域问题 context.Response.Clea ...

  8. vue开发规范

    一.简介 团队合作中规范文档是必须的,在多人合作的项目只有定义好一定的编码规范才会使得开发井井有序,代码一目了然,下边将谈一下个人对vue使用规范的一些看法. 二.规范案例 1.组件命名 组件文件名应 ...

  9. 【[Offer收割]编程练习赛14 D】剑刃风暴(半径为R的圆能够覆盖的平面上最多点数目模板)

    [题目链接]:http://hihocoder.com/problemset/problem/1508 [题意] [题解] 求一个半径为R的圆能够覆盖的平面上的n个点中最多的点数; O(N2log2N ...

  10. Codeforces Round #400 (Div. 1 + Div. 2, combined)——ABCDE

    题目戳这里 A.A Serial Killer 题目描述似乎很恶心,结合样例和样例解释猜测的题意 使用C++11的auto可以来一手骚操作 #include <bits/stdc++.h> ...