redis-string常用命令
string类型的常用命令
常用SET/GET
SET k1 v1
EX参数:以秒为单位设置过期时间
set k2 v2 EX 10
PX参数:以毫秒为单位设置过期时间
set k2 v2 PX 10000
EXAT参数:设置以秒为单位的UNIX时间戳所对应的时间为过期时间
PXAT参数:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间
NX参数:键不存在的时候设置键值
set k1 v1 NX
XX参数:当键存在的时候设置键值
set k1 v1 XX
KEEPTTL参数:保留修改前指定键的生存时间
set k3 v333 KEEPTTL
GET参数:返回指定键原本的值,并使新值替换旧值。若键不存在时返回nil
get k3 v444
MSET && MGET && MSETNX
MSET
set多个键值对
mset k1 v1 k2 v2 k3 v3
MGET
get多个键值对
mget k1 k2 k3
MSETNX
set多个键值对,如果不存在的话。有一个已存在则失败,一个失败全部失败。
127.0.0.1:6379> msetnx k1 v1 k4 v4 #k1已存在,所以set失败,一个失败全部失败,所以k4也没有set成功 (integer) 0 127.0.0.1:6379> msetnx k4 v4 k5 v5。#k4 k5均不存在,所以均set成功 (integer) 1
getrange
设置指定区间范围内的值,格式是setrange key 要修改的值 修改后的值
getrange k1 0 -1
setrange
获取指定区间范围内的值,类似between...and的关系 0到-1表示全部
setrange k1 a b
incr
将数值类型的值增加
incr k1
将k1的值自增1
127.0.0.1:6379> set k1 10
OK
127.0.0.1:6379> INCR k1
11
127.0.0.1:6379> get k1
11
incrby k1 10
将k1的值增加10
127.0.0.1:6379> set k1 10
OK
127.0.0.1:6379> incrby k1 10
20
127.0.0.1:6379> get k1
20
decr
将数值类型的值自减
decr k1
将k1的值自减1
127.0.0.1:6379> decr k1
19
127.0.0.1:6379> get k1
19
decrby k1 10
将k1 的值自减10
127.0.0.1:6379> decrby k1 10
9
127.0.0.1:6379> get k1
9
strlen
获取字符串的长度
127.0.0.1:6379> strlen k1
1
append
append k1 xxx
在k1值的后面追加xxx
127.0.0.1:6379> append k1 xxx
4
127.0.0.1:6379> get k1
9xxx
setnx
如果key不存在则创建,存在则命令无效
127.0.0.1:6379> setnx k2 v2 #k2已存在所以结果是0 0 127.0.0.1:6379> setnx k3 v3 #k3不存在所以结果是1 1
setex
设置一个键值对 并以秒为单位设置有效期。-1代表失效
127.0.0.1:6379> setex k1 10 v1
OK
127.0.0.1:6379> ttl k1
7
set xx
如果key已存在则修改,不存在则命令无效
127.0.0.1:6379> get k1 #k1已存在
v1
127.0.0.1:6379> get k10 #k10不存在
127.0.0.1:6379> set k1 v2 xx #k1已存在,所以修改value为v2
OK
127.0.0.1:6379> get k1
v2
127.0.0.1:6379> set k10 v10 xx #k10不存在,所以修改value失败
127.0.0.1:6379>
set px
设置一个键值对 并以毫秒为单位设置有效期。-1代表失效
127.0.0.1:6379> set k1 10 px 100000
OK
127.0.0.1:6379> ttl k1
97
127.0.0.1:6379>
getset
先获取key
127.0.0.1:6379> set k1 123
OK
127.0.0.1:6379> getset k1 abc
123
127.0.0.1:6379> get k1
abc
127.0.0.1:6379>
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决