2.Redis 基础命令和五大基本类型
Redis 基础命令和五大基本类型
Redis 默认有 16 个数据库
默认使用的是第 0 个数据库
不同数据库存不同的值
数据库命令
切换数据库
# 切换到第几个数据库
select 1
查看数据库大小
#返回数据量
dbsize
清空当前库
flushdb
清空所有库
flushall
键命令
查看当前数据库所有键
keys *
判断键是否存在
exists 键名称
键移动到其他数据库
move 键名称 数据库编号
设置键生存时间
expire 键名称 时间(秒)
# 时间内的值
setex 键名称 生存时间 值
查看键生存时间
ttl 键名称
查看键类型
type 键类型
String类型
赋值
直接赋值
set 键名称 "内容"
不存在才赋值
setnx 键名称 "内容"
批量赋值
mset 键名称1 "内容" 键名称2 "内容" ...
原子性批量赋值
#都不存在才会赋值
msetnx 键名称1 "内容" 键名称2 "内容" ...
设置对象
set user:1 {name:sail,age:27}
# get user:1
# "{name:sail,age:27}"
# 值为 Json 字符串来保存一个对象。
取值
直接取值
get 键名称
先取值,再赋值
getset 键名称 "内容"
# 会返回原来值
追加字符串
追加字符串
append 键名称 "内容"
判断key是否存在
判断key是否存在
exists 键名称
获取字符串长度
获取字符串长度
strlen 键名称
自增
自增 1
incr 键名称
自增 自定义长度
incrby 键名称 长度
自减
自减 1
decr 键名称 "内容"
自减 自定义长度
decrby 键名称 长度
截取字符串
截取指定下标的字符串 (含头含尾) 若为 0 -1 则是截取全部
getrange 键名称 x x+1
getrange 键名称 0 -1
替换字符串
替换指定位置开始的字符串 以覆盖来替换
setrange 键名称 位置 "内容"
设置过期
设定过期替换
setex 键名称 时间 "内容"
查看过期剩余时间
返回剩余时间 若返回-2,代表已过期,值为空
ttl 键名称
List类型
在 Redis 里面,可以把 List 当成栈、队列、阻塞队列使用。
list 实际是一个链表,左右都可以插入值。
如果 key 不存在,创建新的链表。
如果移除了所有元素,空链表也代表不存在。
在两边插入或者改动值,效率最高;操作中间元素,效率相对低一些。
应用场景:消息排队
插入
从左插入
lpush 键名称 内容 内容
# 键名称如不存在自动创建
从右插入
rpush 键名称 内容 内容
# 键名称如不存在自动创建
在指定元素前后插入值
linsert 键名称 brfore/after 键值 插入的键内容
移除
从左移除
lpop 键名称
从右移除
rpop 键名称
移除指定元素
lrem 键名称 移除个数 键值
查看
查看列表中所有元素
lrange list 0 -1
查看指定小标范围元素
lrange list 1 2
#含头含尾
查看列表长度
llen 键名称
查看列表是否存在
exists 键名称
截取
截取指定下标的元素
ltrim 键名称 X X+1
移动
移除最后一个元素并添加到新列表中
rpoplpush 键名称 新键名称
赋值
指定下标赋值
lset 键名称 下标 内容
set类型
不重复的类型
赋值
插入值
sadd 键名 内容
取值
所有元素
smembers
元素是否存在
sismember 键名 内容
#存在返回1,不存在返回0
元素个数
scard 键名
随机元素
srandmember
两个集合的差集
sdiff 键名1 键名2
#返回1中2没有的值
两个集合的交集
sinter 键名1 键名2
#返回键1和键2的交集
两个集合的并集
sunion 键名1 键名2
#返回键1和键2中的所有元素(不重复)
删除
指定元素
srem 键名 键内容
随机元素
spop 键名
移动
指定元素到其他集合
smove 键名1 键名2 内容
#移动键名
hash(哈希)
key-map的数据结构
赋值
单个哈希
hset 键名 key value
多个哈希
hmset 键名 key1 value1 key2 value2 ...
不存在才赋值
hsetnx 键名 key value
自增
hincrby 键名 key 值
#正数时增加,负数是键
取值
单个哈希
hget 键名 key
多个哈希
hmget hash key1 key2
所有值
hgetall 键名
所有key
hkeys 键名
所有value
hvals 键名
长度
hlen 键名
判断
字段是否存在
hexists 键名 key
删除
指定字段
hdel 键名 key
zset有序集合
zset就是set的有序集合
赋值
一个或多个元素
zadd 键名 1 内容 2 内容
取值
正序查询指定下标范围
zrange 键名 0 1
#0 -1 指所有
倒叙查询指定下标范围
zrevrange 键名 0 1
#0 -1 指所有
元素个数
zcard 键名
指定区间元素数量
zcount 键名 1 3
#1是从第一个开始,没有第零个
排序
正序
zrangebyscore 键名 -inf +inf
#从正无穷到负无穷
zrangebyscore 键名 -inf +inf
#排序结果撒谎给你带上分数
倒叙
zrevrangebyscore 键名 +inf -inf
删除
指定元素
zrem 键名 键内容
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
郭远的博客空间!
喜欢就支持一下吧
打赏
微信
支付宝