【Redis】命令学习笔记——字符串(String)(23个超全字典版)

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

本篇基于redis 4.0.11版本,学习字符串(String)相关命令。

序号命令描述实例返回
1SET 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 NXOK
2GET key 获取指定 key 的值。获得键为mykey的值:get mykeyThis is my test key
3GETRANGE key start end 返回 key 中字符串值的子字符获取键为mykey的前4位:getrange mykey 0 3This
4GETSET 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
5GETBIT key offset对 key 所储存的字符串值,获取指定偏移量上的位(bit)。获取键为mykey在1偏移量上的位:getbit mykey 1(integer) 1
当 offset 比字符串值的长度大,或者 key 不存在时,返回 0
6MGET key1 [key2..]获取所有(一个或多个)给定 key 的值。获取键为mykey和mykey2的值:MGET mykey mykey21) "This is my test newkey"
2) (nil)
7SETBIT key offset value对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。设置键为bit偏移量10086值为1:SETBIT bit 10086 1(integer) 0
8SETEX key seconds value将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。将键为mykey的值设为redis并将过期时间设为60秒:setex mykey 60 redisOK
9SETNX key value只有在 key 不存在时设置 key 的值。将键为mykey的值设为redis并将过期时间设为60秒:setnx mykey redis(integer) 0
10SETRANGE key offset value用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。  
11STRLEN key返回 key 所储存的字符串值的长度。键为mykey的长度:STRLEN mykey(integer) 22
12MSET key value [key value ...]同时设置一个或多个 key-value 对。设置键为name值为Lily,键为age值为20:MSET name Lily age 20OK
13MSETNX key value [key value ...] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。设置键为id值为001,键为path值为/product/amount:MSETNX id 001 path /product/amount(integer) 1
14PSETEX key milliseconds value这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。设置键为expiry_date为20180901,失效时间60000毫秒:PSETEX expiry_date 60000 20180901OK
15INCR key将 key 中储存的数字值增一。将键为amount的值加1:INCR amount(integer) 101
16INCRBY key increment将 key 所储存的值加上给定的增量值(increment) 。将键为amount的值加5:INCRBY amount 5(integer) 106
17INCRBYFLOAT key increment将 key 所储存的值加上给定的浮点增量值(increment) 。将键为amount的值加1.1:INCRBYFLOAT amount 1.1"107.1"
18DECR key将 key 中储存的数字值减一。将键为int减1:DECR int(integer) 49
19DECRBY key decrementkey 所储存的值减去给定的减量值(decrement) 。将键为int减2:DECRBY int 2(integer) 47
20APPEND 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
22BITOP 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
23BITFIELD 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 01) (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个超全字典版)

转载于:https://www.cnblogs.com/summer108/p/9563005.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值