Redis的String、Hash类型命令
String是最简单的类型,一个Key对应一个Value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。最大上限是1G字节。
Hash是一个string类型的field和value的映射表。它的添加、删除操作都是0(1)(平均)。hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。
| String字符类型 | Hash类型 | |
| 设置一个键值 | >set name zhangsan 返回:OK |
>hset h1 name zhangsan 设置新键返回int 1;覆盖旧值返回int 0; |
| 批量设置多个键值 | >mset name zhangsan age 20 address china-beijing 批量设置name age address三个键(新值覆盖旧值) 成功返回OK,失败报错。 |
>hmset h1 name zhangsan age 22 city beijing 批量设置name age city三个值(新值覆盖旧值) 成功返回OK,失败报错。 |
| 设置一个事先不存在的键值 | >setnx color red nx = not exist不存在的 返回:int 1/0 |
>hsetnx h1 city 'new york' nx = not exist不存在的 返回:int 1/0 |
| 批量设置多个事先不存在的键值 | >msetnx school beida room 205 全部成功返回int 1,失败返回int 0,一个失败均失败。 |
|
| 设置一个有生命周期的键值 | >setex address 10 'china beijing chaoyang' ex = expir[ɪks'pər]生存时间 单位:秒 |
|
| 获取原值并重设新值 | >getset name lisi 设置一个新值 "zhangsan" 返回原值 |
|
| 部分设置某键的值(替换) | >setrange email 7 @gmail.com 从第7个偏移开始替换
>setrange name 0 lisi 从第0个偏移开始替换(从开头替换) |
|
| 向尾部追加值 | >append name 'lisi wangwu' 在字符末尾追加一段字符串,返回新值长度 |
|
| 指定键自增:+1 | >incr age 使整型数自增:+1 注:键若不存在就创建一个值为0的值并开始计算 |
|
| 指定键自增:+n | >incrby age 3 使整型数据自增:+n,也可指定负值达到自减:-n目的 注:键若不存在就创建一个值为0的值并开始计算 |
>hincrby h1 age 2 使整型数据自增+n,也可指定负值达到自减:-n目的 注:键若不存在就创建一个值为0的值并开始计算 |
| 指定键自减:-1 | >decr age | |
| 指定键自减:-n | >decrby age 2 | |
| 获取一个键值 | >get name | >hget h1 name |
| 批量获取多个键值 | >mget name age address | >hmget h1 name age sex |
| 部分获取某键的值(字符串) | >getrange name 2 3 "ang" 注:第一个偏移从首0计数(需n1>=0),第二个偏移正负均可(首、尾偏移值均为-1); 本例name原值为zhangsan |
|
| 获取字符长度 | >strlen name 获取name的长度,单位:字节 |
|
| 获取数据库中所有键名 | >keys * 获取数据库中所有键名 >keys nam* 获取数据库中所有以“name”开头的键名 >keys nam*g 获取数据库中所有以“name”开头,并以“g”结尾的键名 |
>hkeys h1 获取h1内的所有键名; 注:每次只能获取1个hash表 |
| 【hash】获取单hash表所有值 | >hvals h1 获取h1表的所有“值”; 注:每次只能获取1个hash表 |
|
| 【hash】获取单hash表所有 的“键-值”组合 |
>hgetall h1 获取h1内的所有“键-值”组合; 注:每次只能获取1个hash表 |
|
| 【hash】判断某单个键是否存在 | >hexists h1 age 判断age键是否存在,存在返回int 1,否则返回int 0 注:每次只能查看1个键 |
|
| 【hash】获取指定表的键的总数 | >hlen h1 查看h1表的总的键的个数 注:每次只能查看1个hash表 |
|
| 【hash】删除表的若干个键 | >hdel h1 age 删除h1表的age键 >hdel h1 name city 删除h1表的name city多个键 注:每次可删除多个键 |
|
Redis的String、Hash类型命令的更多相关文章
- 6、Redis中对Hash类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- 第二课补充01——redis-cli命令行详解、string类型、list类型、hash类型命令操作详解
一. redis-cli命令行参数 1.-x参数:从标准输入读取一个参数: [问题] [解决] 因为echo命令是默认带有回车\n的,不带回车需要echo –n命令: echo -n "ha ...
- Redis之哈希类型命令
Hash(哈希) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿 ...
- .Net Core下 Redis的String Hash List Set和Sorted Set的例子
1.新建一个.Net Core控制台应用程序,用Nuget导入驱动 打开程序包管理控制台, 执行以下代码. PM> Install-Package ServiceStack.Redis 即可添加 ...
- 高可用Redis(三):Hash类型
1.哈希类型键值结构 哈希类型也是key-value结构,key是字符串类型,其value分为两个部分:field和value 其中field部分代表属性,value代表属性对应的值 上面的图里,us ...
- Redis之无序集合类型命令
Redis 集合(Set) Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找 ...
- Redis的List链表类型命令
List是一个链表结构,主要功能是push.pop.获取一个范围的所有值等等,操作中key理解为链表的名字.list类型其实就是一个每个子元素都是string类型的双向链表.我们可以通过push.po ...
- redis:String字符串类型(三)
字符串拼接(如果key不存在则创建):append name " applesnt" 获取字符串的长度:strlen name 127.0.0.1:6379> set nam ...
- Redis 之string结构及命令详解
1.set key value ex 秒数 px 毫秒数 nx / xx 设置一个值,注:ex 与 px 同时存在时,取写在后面的一个为有效期,nx表示key不存时设置成功,xx表示 ...
随机推荐
- javaweb(二十四)——jsp传统标签开发
一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属 ...
- Zabbix_agnet部署
原文发表于cu:2016-05-18 参考文档: zabbix监控linux主机:http://www.osyunwei.com/archives/8035.html 一.环境 Server:基于C ...
- 【MySQL解惑笔记】Mysql5.7.x无法开启二进制日志
一.开启二进制日志 1)未开启二进制日志之前: mysql> show variables like 'log_bin'; +---------------+-------+ | Variabl ...
- vps搭建个人网盘不二之选—kodexplorer介绍,包含安装步骤
之前给大家介绍过seafile.h5ai等网盘系统,今天给大家介绍下kodexplorer网盘系统.Kodexplorer,也叫芒果云.可道云.kodcloud,总之名字改了不少.但其本身作为一个网盘 ...
- ICPC 沈阳 Problem C
题意 求n的全排列中将前k个数排序后最长公共子序列>=n-1的个数 思考 我们先把最后可能产生的结果找出来,再找有多少种排列能构成这些结果 设排列为s S like 1,2,3,...,n , ...
- 算法笔记(c++)--关于01背包的滚动数组
算法笔记(c++)--关于01背包的滚动数组 关于01背包问题:基本方法我这篇写过了. https://www.cnblogs.com/DJC-BLOG/p/9416799.html 但是这里数组是N ...
- IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化
马哥Linux培训视频课程:http://pan.baidu.com/s/1pJwk7dp Oracle.大数据系列课程:http://pan.baidu.com/s/1bnng3yZ 天善智能BI培 ...
- python基础知识-01-编码输入输出变量
python其他知识目录 名词解释: 编辑器 ide 程序员 操作系统 ASCAII码 unicode utf-8 浅谈CPU.内存.硬盘之间的关系 操作系统及Python解释器工作原理讲解 关于编译 ...
- Dijkstra+优先队列 模板
#include<bits/stdc++.h> using namespace std; #define ll long long ; const ll inf=1e17; struct ...
- Rsyslog-legacy(旧版本语法)配置说明及举例
1. RULES-书写规则 格式:日志设备(类型).日志级别 日志处理方式 (1)日志类型分类 auth pam产生的日志 authpriv ssh,ftp等登录信息的验证信息 ...