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个超全字典版)的更多相关文章

  1. 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)

    本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...

  2. 【Redis】命令学习笔记——键(key)(20个超全字典版)

    安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...

  3. 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

    本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...

  4. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  5. Redis:学习笔记-01

    Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...

  6. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  7. mongodb常用命令学习笔记

    mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...

  8. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

  9. 《python基础教程(第二版)》学习笔记 字符串(第3章)

    <python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符 ...

随机推荐

  1. javascript对象属性的命名规则

    JS标识符的命名规则,即变量的命名规则: 标识符只能由字母.数字.下划线和‘$’组成 数字不可以作为标识符的首字符 对象属性的命名规则 通过[]操作符为对象添加属性时,属性名称可以是任何字符串(包括只 ...

  2. mac 系统安装VM虚拟机打开时报错,提示不是虚拟磁盘的解决方式。

    最近刚买的苹果系统,不太会用,装了个虚拟机vmware fusion,好不容易把需要的软件装好,然后不知道是我操作了哪里,今天再次打开虚拟机的时候打不开了,报错提示找不到磁盘文件(虚拟磁盘-00000 ...

  3. Nginx的进程

    传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发连接请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下.生成一个新的进程/线程需要事先备好其运 ...

  4. maven tomcat插件上传项目到tomcat服务器报错SEVERE: One or more listeners failed to start.

    以前觉了maven依赖设置很简单,就是将手动导入jar包转化为自动下载导入 但发现的一个问题, 在使用maven插件tomcat打包上传工具时 tomcat-maven-plugin <buil ...

  5. springboot-8- 日志配置

    1, logback配置 springboot 默认支持logback, 自动加载classpath:logback-spring.xml <!-- logback多文件输出 --> &l ...

  6. NodeJS调用jar包

    我们在实际的生产.开发实践中,其实要和许多第三方服务商进行打交道,这其中包括使用他们提供的批量与联机服务,但与别的互联网企业不大相同的是,银行作为传统企业,其一贯重视安全性,许多在互联网企业看似理所当 ...

  7. 说说java

    先说什么是java java是一种面向对象语言,真正的面向对象,任何函数和变量都以类(class)封装起来 至于什么是对象什么是类,我就不废话了 关于这两个概念的解释任何一本面向对象语言的教材里面都有 ...

  8. 解决 Jquery UI Tooltip 用在Select 的BUG

    今天遇到一个奇葩问题, 在chrome下一切正常的 页面,在IE 下Select无法选中! 是的  ,就是无法选中!!! 效果就是这样的.http://jsfiddle.net/slolife/dp4 ...

  9. weixin.com域名易主 传交易价格仅次360.com

    据业内人士透露,weixin.com双拼域名今日易主,交易价格在几千万级别,有传闻其交易价格仅次于360.com. 从whois信息查看可知,weixin.com域名信息今日发生变更,目前域名的持有者 ...

  10. Docker部署golang微服务项目

    这篇博客是为了记录一下部署步骤. 因为实训需要,我要在服务器上用docker部署我们小组的微服务项目.我们的微服务有Gateway,User,Scene,Device四个部分,分别占用不同的端口,其中 ...