Redis之哈希类型命令
Hash(哈希)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
使用场景 : 用户信息
hset : 新建一个哈希表,设置成功返回1,如果已存在覆盖旧值,返回0(值可以为''")
127.0.0.1:6379> hset yhq name yhq
(integer) 1
127.0.0.1:6379> hset yhq name qhh
(integer) 0
hmset: 新建一个哈希表,设置多个k-v,如果已存在会覆盖,成功返回ok(值可以为''")
127.0.0.1:6379> hmsetqhh name yhq age 24 sex 0
OK
hsetnx : 当哈希表不存在时创建并设置且成功返回1,如果已存在无效,返回0
127.0.0.1:6379> hsetnx yhqqhh name qhh
(integer) 1
127.0.0.1:6379> hsetnx yhqqhh name yhq
(integer) 0
hstrlen : 获取指定字段值的长度
127.0.0.1:6379> hmset myhash f1 HelloWorld f2 99 f3 -256
OK
127.0.0.1:6379> hstrlen myhash f1
(integer) 10
127.0.0.1:6379> hstrlen myhash f2
(integer) 2
127.0.0.1:6379> hstrlen myhash f3
(integer) 4
hget : 获取哈希表字段的值,不存在返回nil
127.0.0.1:6379> hget yhq name
"qhh"
127.0.0.1:6379> hget qhh name
"yhq"
127.0.0.1:6379> hget qhh age
"24"
127.0.0.1:6379> hget qhh sex
"0"
127.0.0.1:6379> hget yhq id
(nil)
hgetall : 获取哈希表所有k-v,不存在返回空列表
127.0.0.1:6379> hgetall qhh
1) "name"
2) "yhq"
3) "age"
4) "24"
5) "sex"
6) "0"
127.0.0.1:6379> hgetall q
(empty list or set)
hmget : 获取一个或多个给定的值,不存在返回nil
127.0.0.1:6379> hmget qhh name age a
1) "yhq"
2) "24"
3) (nil)
hdel : 删除一个或者多个哈希表字段,不存在忽略,返回删除字段的个数
127.0.0.1:6379> hgetall qhh
1) "name"
2) "1"
3) "age"
4) "2"
127.0.0.1:6379> hdel qhh age a
(integer) 1
127.0.0.1:6379> hgetall qhh
1) "name"
2) "1"
hexists : 查询哈希表字段是否存在,存在返回1,不存在返回0
127.0.0.1:6379> hgetall must
1) "name"
2) ""
3) "age"
4) "1"
127.0.0.1:6379> hexists must name
(integer) 1
127.0.0.1:6379> hexists must na
(integer) 0
hkeys : 返回哈希表所有的k,key不存在返回空列表
127.0.0.1:6379> hkeys must
1) "name"
2) "age"
127.0.0.1:6379> hkeys must1
(empty list or set)
hvals : 返回哈希表所有k值,key不存在返回空列表
127.0.0.1:6379> hvals must
1) ""
2) "1"
127.0.0.1:6379> hvals must1
(empty list or set)
hlen : 返回哈希表字段数量,key不存在返回0
127.0.0.1:6379> hlen must
(integer) 2
hincrby : 对哈希表字段进行数值增删修改,字段串返回错误,如果不存在则执行创建操作
127.0.0.1:6379> hincrby yhq name 100
(integer) 100
127.0.0.1:6379> hgetall yhq
1) "name"
2) "100"
127.0.0.1:6379> hset yhq sex n
(integer) 1
127.0.0.1:6379> hincrby yhq sex 100
(error) ERR hash value is not an integer
127.0.0.1:6379> hincrby yhq name -100
(integer) 0
127.0.0.1:6379> hgetall yhq
1) "name"
2) "0"
3) "sex"
4) "n"
hincrbyfloat : 对哈希表字段进行数值增删浮点值修改,字段串返回错误,如果不存在则执行创建操作
127.0.0.1:6379> hincrbyfloat yhq size 1.1
"1.1"
127.0.0.1:6379> hincrbyfloat yhq name yhq
(error) ERR value is not a valid float
127.0.0.1:6379> hincrbyfloat yhq size -11.11
"-10.01"
127.0.0.1:6379> hgetall yhq
1) "size"
2) "-10.01"
Redis之哈希类型命令的更多相关文章
- redis:hash哈希类型的操作
1. hash哈希类型的操作 1.1. hset key field value 语法:hset key field value 作用:把key中field域的值设为value 注:如果没有field ...
- Redis 常用命令学习三:哈希类型命令
1.赋值与取值命令 127.0.0.1:6379> hset stu name qiao (integer) 1 127.0.0.1:6379> hset stu sex man (int ...
- Redis之无序集合类型命令
Redis 集合(Set) Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找 ...
- Redis的List链表类型命令
List是一个链表结构,主要功能是push.pop.获取一个范围的所有值等等,操作中key理解为链表的名字.list类型其实就是一个每个子元素都是string类型的双向链表.我们可以通过push.po ...
- API的理解和使用——哈希类型的命令
哈希常用的命令复习 命令 功能 hset key field value 设置哈希值 hsetnx 设置哈希值,field或键必须不存在 hget 获取某个file对应的值 hdel 删除一个或多个f ...
- redis 学习(4)-- 哈希类型
redis 学习(4)-- 哈希类型 介绍 redis 中哈希键值结构: 可以看出:哈希键值包括 key,field,value 这三部分,即键,属性,值这三部分.可以这样来表示: key, (fie ...
- Redis之字符串类型命令
String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value. string 类型是二进制安全的.意思是 ...
- 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型
第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...
- Python操作redis系列以 哈希(Hash)命令详解(四)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. Hset 命令用于 ...
随机推荐
- 登录使用inode的校园网用到的url
无需使用inode客户端,直接访问下面的url,然后输入账号密码即可. 第一次访问这个url的时候可能会提示下载inode客户端,再访问一次即可. url1:http://172.20.1.1/por ...
- Servlet—作controller控制层
servlet控制器的改造步骤: 1.编写servlet类,和访问路径 2.修改jsp请求路径 servlet参数配置---获取初始化参数 servlet参数配置---全局参数
- BabelMap 12.0.0.1 汉化版(2019年3月11日更新)
软件简介 BabelMap 是一个免费的字体映射表工具,可辅助使用<汉字速查>程序. 该软件可使用系统上安装的所有字体浏览 Unicode 中的十万个字符,还带有拼音及部首检字法,适合文献 ...
- Openstack创建虚拟机 Restful api和RPC调用
Horizon前台界面用于接受用户的输入或动作(action),然后将这些参数构造成RESTful API(https://developer.openstack.org/api-ref/comput ...
- 史上最全的HTML和CSS标签常用命名规则
文件夹主要建立以下文件夹: 1.Images 存放一些网站常用的图片: 2.Css 存放一些CSS文件: 3.Flash 存放一些Flash文件: 4.PSD 存放一些PSD源文件: 5.Temp 存 ...
- 03: centos中配置使用svn
1.1 centos7.3源码搭建svn----安装各种依赖包 1.安装zlib-1.2.8.tar.xz xz -d zlib-1.2.8.tar.xz tar xvf zlib-1.2.8.tar ...
- 20145127《java程序设计》第四周学习总结
教材学习内容总结 第六章 继承与多态 6.1 何为继承 0.面向对象中,子类继承父类,避免城府的行为定义.正确判断使用继承的时机,以及继承之后如何活用多态,才是学习继承时的重点. 1.继承:避免多个类 ...
- 实验二 Java 面向对象程序设计
实验内容 1 初步掌握单元测试和TDD 2 理解并掌握面向对象三要素:封面,继承,多态 3 初步掌握UML建模 4 熟悉SOLID原则 5 了解设计模式 (一)单元测试 D
- max3232
max3232采用专有低压差发送器输出级,利用双电荷泵在3.0V至5.5V电源供电时能够实现真正的RS-232性能,器件仅需四个0.1uF的外部小尺寸电荷泵电容.max3232确保在120kbps数据 ...
- Python3基础 set add 向集合中加入新的元素
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...