Redis[三] @Hash 哈希
Redis
的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型
在Redis中的哈希值,可存储超过400十亿键值对。
redis 提供了2套操纵 一种是批量 一种是非批量
假设需要存储一个用户信息
批量操作
定义一个key为user1的hash 包含属性 name=xstao、age=22、sex=1、password=123 并获取user1中name的属性值
redis 127.0.0.1:6379[1]> hmset user1 name xstao age 22 sex 1 password 123
OK
redis 127.0.0.1:6379[1]> hmget user1 name
1) "xstao"
|
获取user1的全部key 、 value、全部的key value
redis 127.0.0.1:6379[1]> hgetall user1
1) "name"
2) "xstao"
3) "age"
4) "22"
5) "sex"
6) "1"
7) "password"
8) "123"
redis 127.0.0.1:6379[1]> hkeys user1
1) "name"
2) "age"
3) "sex"
4) "password"
redis 127.0.0.1:6379[1]> hvals user1
1) "xstao"
2) "22"
3) "1"
4) "123"
|
获取user1这个hash的字段数量
redis 127.0.0.1:6379[1]> hlen user1
(integer) 4
|
为hash user1添加一个字段 并查看添加后的数据结构
redis 127.0.0.1:6379[1]> hmset user1 ext1 test
OK
redis 127.0.0.1:6379[1]> hgetall user1
1) "name"
2) "xstao"
3) "age"
4) "22"
5) "sex"
6) "1"
7) "password"
8) "123"
9) "ext1"
10) "test"
|
更新key为user1 sex的值为0 并返回赋值成功后的新值
redis 127.0.0.1:6379[1]> hset user1 sex 0
(integer) 0
|
非批量
从命令格式上来看批量都加了m
而非批量都没有 比如批量hmset
非批量 hset
定义一个哈希表user2 第一次执行成功 ,第二次执行批量添加失败了。因为hset仅支持单个添加
redis 127.0.0.1:6379[1]> hset user2 name abc
(integer) 1
redis 127.0.0.1:6379[1]> hset user3 name abc age 2
(error) ERR wrong number of arguments for 'hset' command
redis 127.0.0.1:6379[1]>
|
其他一些常用命令命令
//判断user1中name是否存在 返回1表示已存在 返回0标识没有这个name字段key
redis 127.0.0.1:6379[1]> hexists user1 name
(integer) 1
//针对user1 中age(年龄)字段自增2 返回自增后的值
redis 127.0.0.1:6379[1]> hincrby user1 age 2
(integer) 24
//针对user1 中age(年龄)字段浮点数自增2.5 返回自增后的值
redis 127.0.0.1:6379[1]> hincrbyfloat user1 age 2.5
"28.5"
|
Redis[三] @Hash 哈希的更多相关文章
- 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型
第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...
- 2、使用HashOperations操作redis(Hash哈希表)
文章来源:https://www.cnblogs.com/shiguotao-com/p/10560458.html 方法 c参数 s说明 Long delete(H key, Object... h ...
- Python操作redis系列以 哈希(Hash)命令详解(四)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. Hset 命令用于 ...
- 8、Redis五大数据类型---哈希(Hash)
一.哈希(Hash)简介: Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis hash 是一个键值对集合. 二.常用命令 1.h ...
- 后端利用Redis队列及哈希实现定时推送提醒的三个思路
周煦辰 2016年8月31日 本文介绍了一下本人在开发过程中遇到"定时推送提醒"的需求的时候所思考的三种解决方案. 明确问题 首先明确一下这个需求可能包含的几个"坑&qu ...
- redis:hash哈希类型的操作
1. hash哈希类型的操作 1.1. hset key field value 语法:hset key field value 作用:把key中field域的值设为value 注:如果没有field ...
- 面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)
redis源码分析系列文章 [Redis源码系列]在Liunx安装和常见API 为什么要从Redis源码分析 String底层实现——动态字符串SDS Redis的双向链表一文全知道 前言 hello ...
- redis(三)-----redis基本数据类型
Redis的全称是REmote Dictionary Server,它主要提供了5种数据结构:字符串.哈希.列表.集合.有序集合,同时在字符串的基础之上演变 出了位图(Bitmaps)和HyperLo ...
- Hash哈希(一)
Hash哈希(一) 哈希是大家比较常见一个词语,在编程中也经常用到,但是大多数人都是知其然而不知其所以然,再加上这几天想写一个一致性哈希算法,突然想想对哈希也不是很清楚,所以,抽点时间总结下Hash知 ...
随机推荐
- 初学Python(七)——控制语句
初学Python(七)——控制语句 初学Python,主要整理一些学习到的知识点,这次是控制语句. if : #-*- coding:utf-8 -*- age=raw_input('input yo ...
- 【RegExp】JavaScript中正则表达式判断匹配规则以及常用方法
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符 ...
- 基于NFS实现WordPress
实验内容: (1)主机IP nfs server IP :192.168.29.120 nfs server IP: 192.168.29.110 (2)要求 nfs server共享/data/we ...
- thymeleaf中的日期格式化
本篇介绍些thymeleaf中的日期格式化的方法: 1.用#dates.format来解决: <span th:text="${#dates.format(user.date, 'yy ...
- amd和cmd区别
作者:玉伯 链接:https://www.zhihu.com/question/20351507/answer/14859415 来源:知乎 著作权归作者所有,转载请联系作者获得授权. AMD 是 R ...
- JavaScript中正则表达式判断匹配规则以及常用的方法
JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想 ...
- Fiddler基础使用二之捕获手机应用https请求
Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应, 因此,它比一般的firebug或者是chrome自带的抓 ...
- Mongodb启动&关闭
mac 下mongo的启动和关闭以及启动问题解决 mongo的安装在这:http://www.cnblogs.com/leinov/p/6855784.html Mac os mongodb数据安装路 ...
- DynamicXml
/* var xml = @"<root><books><book is_read=""false""><a ...
- Luogu P1451 求细胞数量
题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入输出格式 输 ...