文章目录
前言
redis是k-v键值对进行存储,key的类型都是字符串,而数据类型是value的数据类型
Tip:命令不区分大小写,而key的值是区分大小写的
Key常用命令
keys * //当前库的所有key
exists key //判断某个key是否存在,可以同时判断多个key,返回几就是存在几个
type key //查看你的key是什么类型
// 删除
del key //是原子操作,删除指定的key数据
unlink key //常用于多线程时,非阻塞删除,仅仅将keys从keyspace元数据中删除,没真正的删除,会在后续异步中操作
// 过期时间
ttl key // 查看还有多少秒过期 -1表示永不过期 -2 表示已过期
expire key 秒 // 给key设置过期时间
// 数据库操作
move key dbindex [0-15] // 将当前数据库的key移动到指定的数据库中 redis默认是有16个数据库的
select dbindex [0-15] // 切换数据库[0-15],默认为0
dbsize // 查看当前数据库key的数量
flushdb // 清空当前库
flushall // 清空16个数据库 慎用
help @+数据类型 会出现命令提示 比如 help @string

一、string字符串类型
- string是redis最基本的类型,一个key对应一个value。
- string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
- string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M
1. set命令
// 常用命令
set key value [NX|XX][GET][EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTLJ
// 设置过期时间,秒为单位
set key1 value1 EX 3 // 过期时间为3秒
// 设置键存在时的键值(即覆盖作用),并返回原来的值
set key1 value2 get
// 将key1进行修改时,继续使用之前的过期时间(因为默认修改时是直接设置为永不过期了)
set key1 value1 keepttl // 过期时间为3秒
SET命令有NX、XX、EX、PX以及KEEPTTL五个可选参数,
- NX:键不存在的时候设置键值(NX可以理解为not exit)
- XX:键存在的时候设置键值
- GET:返回指定键原本的值,若键不存在时返回nil
- EX seconds:以秒为单位设置过期时间
- PX milliseconds:以毫秒为单位设置过期时间
- EXAT timestamp:设置以秒为单位的UNIX时间戳所对应的时间为过期时间
- PXAT milliseconds-timestamp:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间
- KEEPTTL:保留设置前指定键的生存时间
2. mset同时设置多个键值对
MSET [key1] [value1] [key2] [value2] [key3] [value3] // 同时设置一个或多个键值对
MGET [key1] [key2] [key3] // 同时获取多个key的值
MSETNX [key1] [value1] [key2] [value2] // 同时设置一个或多个 key-value 对 必须保证key都不存在才能成功
3. 获取键的指定区间的值
GETRANGE [key] 0 -1 // 获取这个key的值的全部
GETRANGE [key] 0 2 // 获取这个key的值索引0到索引2之间的值
SETRANGE [key] 1 xxx // 设置指定区间范围内的值
// 获取key1的0-3的值,类似于获取字符串的子字符串
getrange key1 0 3
// 将key1从1索引开始设置为aayy
setrange key1 aayy
4. 数值增减
key键对应的value类型必须为数字
INCR [key] // 递增数字 +1
INCRBY [key] [increment] // 增加指定的整数 +increment
DECR [key]

6万+

被折叠的 条评论
为什么被折叠?



