【Redis】命令学习笔记——字符串(String)(23个超全字典版)
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
本篇基于redis 4.0.11版本,学习字符串(String)相关命令。
| 序号 | 命令 | 描述 | 实例 | 返回 |
| SET key value [EX seconds] [PX milliseconds] [NX|XX] | 设置指定 key 的值 | 仅当键为mykey不存在时,值为"This is my test key"过期时间10086s:SET mykey "This is my test key" EX 10086 NX | OK | |
| GET key | 获取指定 key 的值。 | 获得键为mykey的值:get mykey | This is my test key | |
| GETRANGE key start end | 返回 key 中字符串值的子字符 | 获取键为mykey的前4位:getrange mykey 0 3 | This | |
| GETSET key value | 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。 | 将键为mykey的值设为"This is my test newkey":getset mykey "This is my test newkey" | This is my test key | |
| GETBIT key offset | 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。 | 获取键为mykey在1偏移量上的位:getbit mykey 1 | (integer) 1 当 offset 比字符串值的长度大,或者 key 不存在时,返回 0 |
|
| MGET key1 [key2..] | 获取所有(一个或多个)给定 key 的值。 | 获取键为mykey和mykey2的值:MGET mykey mykey2 | 1) "This is my test newkey" 2) (nil) |
|
| SETBIT key offset value | 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。 | 设置键为bit偏移量10086值为1:SETBIT bit 10086 1 | (integer) 0 | |
| SETEX key seconds value | 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。 | 将键为mykey的值设为redis并将过期时间设为60秒:setex mykey 60 redis | OK | |
| SETNX key value | 只有在 key 不存在时设置 key 的值。 | 将键为mykey的值设为redis并将过期时间设为60秒:setnx mykey redis | (integer) 0 | |
| SETRANGE key offset value | 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。 | |||
| STRLEN key | 返回 key 所储存的字符串值的长度。 | 键为mykey的长度:STRLEN mykey | (integer) 22 | |
| MSET key value [key value ...] | 同时设置一个或多个 key-value 对。 | 设置键为name值为Lily,键为age值为20:MSET name Lily age 20 | OK | |
| MSETNX key value [key value ...] | 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。 | 设置键为id值为001,键为path值为/product/amount:MSETNX id 001 path /product/amount | (integer) 1 | |
| PSETEX key milliseconds value | 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。 | 设置键为expiry_date为20180901,失效时间60000毫秒:PSETEX expiry_date 60000 20180901 | OK | |
| INCR key | 将 key 中储存的数字值增一。 | 将键为amount的值加1:INCR amount | (integer) 101 | |
| INCRBY key increment | 将 key 所储存的值加上给定的增量值(increment) 。 | 将键为amount的值加5:INCRBY amount 5 | (integer) 106 | |
| INCRBYFLOAT key increment | 将 key 所储存的值加上给定的浮点增量值(increment) 。 | 将键为amount的值加1.1:INCRBYFLOAT amount 1.1 | "107.1" | |
| DECR key | 将 key 中储存的数字值减一。 | 将键为int减1:DECR int | (integer) 49 | |
| DECRBY key decrement | key 所储存的值减去给定的减量值(decrement) 。 | 将键为int减2:DECRBY int 2 | (integer) 47 | |
| APPEND key value | 如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。 | 将键为mykey的值后面加上"!":APPEND mykey "!" | (integer) 23 | |
|
21 |
BITCOUNT key [start] [end] | 计算给定字符串中,被设置为 1 的比特位的数量。 | 设置bits值:SETBIT bits 0 1 获取键为bits比特位数量:BITCOUNT bits |
(integer) 0; (integer) 1 |
| 22 | BITOP operation destkey key [key ...] | 对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。(operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种) | 将键为bits-1和bits-2求并保存到and-result中:BITOP AND and-result bits-1 bits-2 | (integer) 1 |
| 23 | BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL] | BITFIELD 命令可以将一个 Redis 字符串看作是一个由二进制位组成的数组, 并对这个数组中储存的长度不同的整数进行访问 | 对位于偏移量100的8位长有符号整数执行加法操作,并获取位于偏移量0上的4位长无符号整数:BITFIELD mykey INCRBY i8 100 1 GET u4 0 | 1) (integer) 1 2) (integer) 0 |
序号为1命令说明:
因为SET命令可以通过参数来实现和SETNX、SETEX和PSETEX三个命令的效果,所以将来的 Redis 版本可能会废弃并最终移除SETNX、SETEX和PSETEX这三个命令。
序号为21命令实用场景说明:
官方推荐使用 bitmap 可以实现用户上线次数统计,如果今天是网站上线的第 100 天,而用户 peter 在今天阅览过网站,那么执行命令 SETBIT peter 100 1 ;如果明天 peter 也继续阅览网站,那么执行命令 SETBIT peter 101 1 ,以此类推。当要计算 peter 总共以来的上线次数时,就使用BITCOUNT命令:执行 BITCOUNT peter ,得出的结果就是 peter 上线的总天数。
详见:Redis官方文档
上一篇:【Redis】命令学习笔记——键(key)(20个超全字典版)
下一篇:【Redis】命令学习笔记——哈希(hash)(15个超全字典版)
【Redis】命令学习笔记——字符串(String)(23个超全字典版)的更多相关文章
- 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)
本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...
- 【Redis】命令学习笔记——键(key)(20个超全字典版)
安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...
- 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)
本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...
- 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总
本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...
- Redis:学习笔记-01
Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...
- Redis:学习笔记-02
Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
- Linux命令学习笔记目录
Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...
- 《python基础教程(第二版)》学习笔记 字符串(第3章)
<python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符 ...
随机推荐
- Struts 2初体验
Struts2简介: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数 ...
- C语言中函数返回字符串的四种方法
在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来 ...
- if 和case
select case 'O' when 'O' then (1*5-6) when 'C' then (1*5-6) when 'EC' then (1*5-6) --else null --end ...
- SQL SERVER 原来还可以这样玩 FOR XML PATH
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
- 【JavaScript 从零开始】变量作用域
变量作用域 一个变量的作用域(scope)是程序源代码中定义这个变量的区域. 全局变量拥有全局作用域,在JavaScript代码中的任何地方都是有定义的.然而在函数内声明的变量只是函数体内有定义. 他 ...
- [日常] SinaMail项目和技术能力总结
一.企邮WEBMAIL项目1.完成手机绑定二次验证,绑定手机提升账户的安全性2.登陆验证接口改造,增加一系列登陆限制,增强webmail的系统可靠性3.增加外发限制功能,及时控制用户发信行为,有利于企 ...
- Java版分布式ID生成器技术介绍
分布式全局ID生成器作为分布式架构中重要的组成部分,在高并发场景下承载着分担数据库写瓶颈的压力. 之前实现过PHP+Swoole版,性能和稳定性在生产环境下运行良好.这次使用Java进行重写,目前测试 ...
- EF 多种查询方式
比较常用的查询方式linq to entity,这里先看一种写法: var query = (from d in testContext.Set<DepartPerson>() //查询和 ...
- 小tip:CSS3下的渐变文字效果实现——张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1601 一.方法一:借 ...
- UOJ#410. 【IOI2018】会议
传送门 首先可以设 \(f[l][r]\) 表示 \([l,r]\) 的答案 设 \(x\) 为区间 \([l,r]\) 的最大值的位置,那么 \(f[l][r] = min(f[l][x-1]+h[ ...