Redis学习第三课:Redis Hash类型及操作
Redis hash是一个string类型的field和value的映射表。它的添加、删除操作都是O(1)(平均)。hash特别适用于存储对象。相较于对象的每个字段存在单个string类型。将一个对象存储在hash类型中会占用更小的内存,并且可以更方便的存取整个对象。
hset:设置hash field为指定值,如果key不存在,则先创建。
hget:获取指定的hash field。
127.0.0.1:6379>hset user:001 name Tom
(integer)1
127.0.0.1:6379>hset user:001 age 28
(integer)1
127.0.0.1:6379>hget user:001 name
"Tom"
hsetnx:设置hash field为指定值,如果key不存在,则先创建。如果存在则返回0。
127.0.0.1:6379>hset user:001 name Jack
(integer)0
hmset:同时设置hash的多个字段。
hmget:获取全部指定的hash field。
127.0.0.1:6379> hmset user:002 id 1 name Mark sex male age 29
OK
127.0.0.1:6379> hget user:002
(error) ERR wrong number of arguments for 'hget' command
127.0.0.1:6379> hmget user:002 id name male age
1) "1"
2) "Mark"
3) (nil)
4) "29"
hincrby:指定的hash field加上给定值。
127.0.0.1:6379> hincrby user:002 age 6
(integer) 35
127.0.0.1:6379> hincrby user:002 age -2
(integer) 33
hexists:测试指定field在hash中是否存在。
127.0.0.1:6379> hexists user:002 sex
(integer) 1
127.0.0.1:6379> hexists user:001 sex
(integer) 0
hlen:返回指定hash的field数量。
127.0.0.1:6379> hlen user:001
(integer) 2
127.0.0.1:6379> hlen user:002
(integer) 4
hdel:删除指定hash的field。
127.0.0.1:6379> hdel user:002 sex
(integer) 1
127.0.0.1:6379> hget user:002 sex
(nil)
hkeys:返回hash的所有field。
127.0.0.1:6379> hkeys user:002
1) "id"
2) "name"
3) "age"
127.0.0.1:6379> hkeys user:001
1) "name"
2) "age"
hvals:返回hash的所有value。
127.0.0.1:6379> hvals user:002
1) "1"
2) "Mark"
3) "33"
hgetall:获取某个hash中全部的field及value。
127.0.0.1:6379> hgetall user:002
1) "id"
2) "1"
3) "name"
4) "Mark"
5) "age"
6) "33"
Redis学习第三课:Redis Hash类型及操作的更多相关文章
- C# Redis学习系列三:Redis配置主从
Redis配置主从 主IP :端口 192.168.0.103 6666 从IP:端口 192.168.0.108 3333 配置从库 (1)安装服务: redis-server ...
- 分布式缓存技术redis学习(三)——redis高级应用(主从、事务与锁、持久化)
上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性.目录如下: 安全性设置 设置客户端操作秘密 客户 ...
- 【Redis】Redis学习(三) Redis 主从模式详解
不管任何程序,只运行一个实例都是不可靠的,一旦因为网络原因导致所在机器不可达,或者所在服务器挂掉,那么这个程序将不能对外提供服务了,Redis也是一样的.不过Redis的主从并不是解决这个问题的,一些 ...
- redis学习(三)redis持久化
redis持久化 1.redis持久化介绍 我们知道redis性能之所以强悍,是因为redis在运行时将数据都存放在了访问效率远高于硬盘的内存之中.可是这带来了新的问题:在redis或者外部系统重启时 ...
- redis 学习(4)-- 哈希类型
redis 学习(4)-- 哈希类型 介绍 redis 中哈希键值结构: 可以看出:哈希键值包括 key,field,value 这三部分,即键,属性,值这三部分.可以这样来表示: key, (fie ...
- redis学习教程三《发送订阅、事务、连接》
redis学习教程三<发送订阅.事务.连接> 一:发送订阅 Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redi ...
- openresty 学习笔记三:连接redis和进行相关操作
openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...
- redis 学习(1)-- redis 安装与启动
redis 学习(1)-- redis 安装与启动 redis 特性 关于 redis 的介绍网上已经有很多信息了,这里我就不在详细说明了.介绍一下几个鲜明特性: 1.速度快 官方称可以达到10W的q ...
- redis学习教程一《Redis的安装和配置》
redis学习教程一<Redis的安装和配置> Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执 ...
随机推荐
- HDU 2586 How far away ?(LCA在线算法实现)
http://acm.hdu.edu.cn/showproblem.php?pid=2586 题意:给出一棵树,求出树上任意两点之间的距离. 思路: 这道题可以利用LCA来做,记录好每个点距离根结点的 ...
- UVa 1149 装箱
https://vjudge.net/problem/UVA-1149 题意:给定N个物品的重量和背包的容量,同时要求每个背包最多装两个物品.求至少需要的背包数. 思路:很简单的贪心.每次将最轻的和最 ...
- booststrap select2的应用总结
本身对前端js了解不是特别多,在项目中,遇到很多前端的问题,有时间整理一下,有不对的地方,不吝赐教,多多批评指正. 在项目中,遇到最多的select下拉框情景,莫过于多选和单选了 单选是很容易理解的, ...
- Spring Boot 2.1.1.RELEASE 多数据源配置与使用
有时候,一个系统的功能,需要两个或两个以上的数据库, 在Spring Boot 中要如何配置? How to? #primary primary.spring.datasource.jdbc-url= ...
- JavaScript权威指南--脚本化HTTP
知识要点 超文本传输协议(HTTP)规定web浏览器如何从web服务器获取文档和向web服务器发送表单内容,以及web服务器如何响应这些请求和提交.web浏览器会处理大量的HTTP.通常,HTTP并不 ...
- Codeforces 96C - Hockey
96C - Hockey 字符串处理 代码: #include<bits/stdc++.h> using namespace std; #define ll long long ; con ...
- js中如何访问对象和数组
js中如何访问对象和数组 一.总结 一句话总结:js访问对象点和中括号,访问数组的话就是中括号 对象 . [] 数组 [] 1.js访问对象的两种方式? . [] 可以使用下面两种方式访问对象的属性和 ...
- 12月10日 render( locals:{...}) 传入本地变量。
Jdstor第一部分后台设计,4-4上传图片. 3.4 Using Partials--3.4.4 Passing Local Variables You can also pass local va ...
- Edge coloring of bipartite graph CodeForces - 600F (二分图染色)
大意:给定二分图, 求将边染色, 使得任意邻接边不同色且使用颜色种类数最少 最少颜色数即为最大度数, 要输出方案的话, 对于每一条边(u,v), 求出u,v能使用的最小的颜色$t0$,$t1$ 若t0 ...
- uva-11426-数论
https://vjudge.net/problem/UVA-11426#author=0 求 SUM{ gcd(i,j) | 1<=i<j<=n}, n<4000001. 令 ...