常用Redis命令
1、Redis全局命令操作 1.查看所有键 键 * -- 也可以使用模糊搜索查询,但一般不推送 键 s* 2.查看按键总数 数据库大小 3.检查密钥是否存在 存在键 4.删除键返回已删除条目的数量 删除键 5.密钥过期 返回剩余过期时间:-1表示未设置过期,-2表示已过期,正数表示剩余过期时间(秒) 过期键秒 -- 设置时间戳后过期 expireat 密钥时间戳 -- 看看过期多久 ttl 键 6
1、Redis全局命令操作
1.查看所有键
键 *
-- 也可以使用模糊搜索查询,但一般不推送
键 s*
2.查看按键总数
数据库大小
3.检查密钥是否存在
存在键
4.删除键返回已删除条目的数量
删除键
5.密钥过期
返回剩余过期时间:-1表示未设置过期,-2表示已过期,正数表示剩余过期时间(秒)
过期键秒
-- 设置时间戳后过期
expireat 密钥时间戳
-- 看看过期多久
ttl 键
6.查看key的数据结构类型
键入键
7.密钥重命名
如果newkey存在,会被强制覆盖
重命名旧键新键
2、Redis常用的五种数据结构操作
字符串、哈希、列表、集合、ZSET
字符串(字符串)
1.设定值
设置键值
-- key 必须不存在才可以设置成功添加
setnx 键值
-- 密钥必须存在才能安装成功以进行更新
设置键值 xx
--批量设置
mset 键 1 值 1 键 2 值 2
示例:
设定年龄 23 ex 10
setnx 名称测试
设置年龄 25 xx
set 命令有几个选项:
-
ex seconds:设置key的第二个过期时间。
-
px 毫秒:设置密钥的毫秒过期时间。
-
nx:key必须不存在才能成功设置添加。
-
xx:与nx相反,key必须存在才能成功设置更新。
设置键值 ex 秒
2.获取价值
获取密钥
--批量采集
mget key1 key2
示例:
批次设置:mset country china city 北京
批量获取:mget 国家城市地址
3. lncr数字操作
lncr 命令用于自动增加值。返回结果分为三种情况:
-
值不是整数,返回错误
-
值为整数,自增后返回结果
-
如果key不存在,会按照0的值自动递增,返回结果为1
-- 自增
增量键
-- 自减法
解密键
-- 自增指定数
增加数字键
-- 自减指定数
decrby 数字键
-- 自增浮点数
incrbyfloat 数字键
示例:
incr age //必须是整数自增1,非整数返回错误,没有age key从0返回1
decr age //整数年龄减去
incrby age 2 //整数年龄+2
decrby age 2//整数年龄-2
incrbyfloat score 1.1 //浮点分数+1.1
4.追加追加指令
附加键附加字符串
示例:
设置名称你好
append name world //添加到helloworld
5. strlen 字符串长度,返回字符串长度
strlen 键
示例:
设置你好“世界”
斯特伦你好
6. getset 设置并返回原始值
getset设置和set一样的值,但不同的是它也返回key的原始值
获取键值
7. setrange 在指定位置设置字符,下标从0开始计算
setrange key 下标设置值
8. getrange 截取字符串
getrange 截取字符串的一部分以形成子字符串。它需要指示开始和结束的偏移量。截取的范围是一个闭区间
getrange key 开始下标 结束下标
示例:
设置名称 helloworld ; getrange name 2 4//返回llo
哈希
ID
姓名
年龄
1
小明
18
-- 使用字符串设置值(防止命令空间中的键名冲突:业务名称:对象名称:id:属性)
设置用户:1:姓名小明
设置用户:1:18 岁
-- 使用Hash Set值
hmset 用户:1 姓名小明 年龄 18
hash 是字符串类型的字段和值的映射表。 hash特别适合存储对象
命令 hset 键字段值
设置值:hset user:1 name xiaming
值:hget 用户:1 名
删除值:hdel user:1 age
计算次数:hset user:1 name xiaoming; hset 用户:1 23 岁;
满足用户:1
批量设置:hmset 用户:2 姓名小明 年龄 23 性男孩
批处理值:hmget user:2 name age sex
判断字段是否存在:hexists 用户:2 名称
获取所有字段:hkeys 用户:2
获取用户:2 所有值:hvals 用户:2
获取用户:2 所有字段和值:hgetall 用户:2
添加 1:hincrby 用户:2 年龄 1
hincrbyfloat 用户:2 岁 2
列表
列表类型用于存储多个有序字符串。五个元素 a、b、c、d 和 e 从左到右形成一个有序列表。列表中的每个字符串称为元素。一个列表最多可以存储 2-1 个元素。在Redis中,可以在列表的两端插入(push)和弹出(pop),获取指定范围的元素列表,获取指定索引下标的元素等。
1. lrange 获取指定范围内的元素列表
索引下标特征:从左到右从0到N-1
lrange 0 -1 命令可以从左到右获取列表的所有元素
rpush 从右到左插入
lpush 从左到右插入
linsert 在一个元素之前或之后插入一个新元素
kpop 从列表左侧弹出
rpop 从列表右侧弹出
2. lrem 删除指定元素
lrem 命令将从列表中找到一个等于 value 的元素并将其删除。按计数分三种情况:
-
count > 0,从左到右删除最多count个元素。
-
Count < 0,从右到左删除最多count个绝对值元素。
-
countu003d0,全部删除。
lrem 享受清单 4 x
3. ltirm 按索引范围修剪列表
例如,您想在列表中保留 0 到 1 的元素
ltrim 享受清单 0 1
! zoz100078](https://programming.vip/images/doc/87682d09479f36dcc686494d5b4f6538.jpg)
4. lset 修改指定索引下标的元素
lset enjoylist 1 web
5. lindex 获取列表中指定的索引下标的元素
lindex 享受清单 1
6. llen 获取列表长度
艾伦享受清单
套装
set 类型也用于存储多个字符串元素,但与列表类型不同,
集合中不允许有重复的元素,集合中的元素是无序的。不能通过索引下标获取元素。
1.悲伤添加元素
可以添加多个元素,返回结果为添加成功的元素个数
悲伤的关键成员
2. srem 删除元素
允许删除多个元素,返回结果为删除成功的元素个数
srem 关键成员
3. scard 计算元素个数
钥匙
4. sismember 判断一个元素是否在集合中
如果给定元素元素在集合中返回 1,否则返回 0
sismember 主要成员
! swz 100102 swz 100103 swz 100101
5. srandmember 从集合中随机返回指定数量的元素
如果不写入指定的数字,则默认值为1
srandmember 密钥计数
! swz 100105 swz 100106 swz 100104
6. spop 从集合中随机弹出元素
您可以指定编号。如果不写,默认为1。spop命令执行后,元素会从集合中删除,而srandmember命令不会删除元素
弹出键计数
! swz 100108 swz 100109 swz 100107
7. smembers 获取所有元素
返回的结果是无序的
会员键
8.通过 sinter 找到多个集合的交集
烧结键 1 键 2
9. sunion 找到多个集合的并集
sunion key1 key2
10. sdiff 找到多个集合的差异集
sdiff 键 1 键 2
11.保存交集、并集和差集的结果
元素多时集合之间的操作比较耗时,所以redis提供了以下三个命令(原始命令+store)将集合之间的交集、并集、差集的结果保存在目的key中
sinterstore 目标密钥 [key ...]
suionstore 目标密钥 [key ...]
sdiffstore 目标密钥 [key ...]
有序集(ZSET)
有序集合保留了集合不能有重复成员的特性,但不同的是有序集合中的元素是可以排序的。它使用索引下标作为与列表相比的排序依据。不同的是,有序集为每个元素设置了一个分数作为排序依据。
有序集合的元素不能重复,但分数可以重复,就像一个同学的学号不能重复,但分数可以重复一样。
有序集合提供子获取指定分数和元素范围查询、计算成员排名等功能。
1. zadd 添加成员,返回结果代表添加成功的成员数量
将用户 test01 和他的分数 98 添加到有序集 u:kaoshi:
在add U:考试 98 test01
zadd 命令也有四个选项 nx, xx, ch, incr
-
nx: 成员必须不存在才能设置成功才能添加
-
xx:成员必须存在才能成功设置更新
-
ch:返回此操作后改变的有序集合元素的数量和分数
-
incr:增加分数,相当于zincrby
2. zcard 计算成员数
zcard 密钥
! swz 100129 swz 100130 swz 100128
3. zscore 计算成员的分数
如果成员不存在,则为零
zscore 关键成员
! zwz 100132 zwz 100133 zwz 100131
4. zrank 计算成员的排名
zrank是从低到高的分数,zrevrank是从高到低的分数
zrank 关键成员
zrevrank 关键成员
! zwz 100135 zwz 100136 zwz 100134
5. zrem 删除成员
一次可以删除多个成员,返回结果为删除成功的成员数
zrem 关键成员
! zwz 100138 zwz 100139 zwz 100137
6. zincrby 提高会员分数
zincrby 关键乐谱成员
! swz 100141 swz 100142 swz 100140
7. zrange 和 zrevrange 返回指定排名范围的成员
有序集根据分数进行排序。 zrange 从低到高返回。相反,如果加上WithCores选项,会同时返回成员的分数
zrange 键最小值最大值
zrange key min max withscores
zrevrange 键最小值最大值
zrevrange key min max withscores
! swz 100144 swz 100145 swz 100143
8. zrangebyscore 返回指定分数范围的成员
zrangebyscore 根据分数从低到高返回,zrevrangebyscore 反之返回。
zrangebyscore key min max [withscores] [limit offset count] zrevrangebyscore key max min [withscores][limit offset count]
! swz 100147 swz 100148 swz 100146
9. zcount 返回指定分数范围内的成员数
zcount 键最小值最大值
! zwz 100150 zwz 100151 zwz 100149
10. zremrangebyrank 按升序删除指定排名的元素
zremrangebyrank 键开始结束
11. zremrangebyscore 删除指定分数范围的成员
zremrangebyscore 键最小值最大值
! swz 100153 swz 100154 swz 100152
12.津特莫尔路口
zinterstore 目标 numkeys 键 [key ...] [weights weight [weight ...]] [aggregate sum / min / max]
目的地:将交集计算结果保存到该键。
numkeys:交集计算的键数。
key [key...]:交集计算的key。
weights weight [weight...]:每个key的权重,交集计算中每个key的权重
member 会将它的分数乘以这个权重,每个 key 的权重默认为 1。
aggregate sum/ min |max:计算出成员的交集后,可以根据sum(and)和min(maximum)计算得分
总结了小值)和最大值(最大值)。默认值为总和
13. zunionstore 联盟
zunionstore 目标 numkeys 键 [key ...] [weights weight [weight ...]] [ aggregate sunmI minl max]
路口
zinterstore 目标 numkeys 键 [key ...] [weights weight [weight ...]] [aggregate sum / min / max]
目的地:将交集计算结果保存到该键。
numkeys:交集计算的键数。
key [key...]:交集计算的key。
weights weight [weight...]:每个key的权重,交集计算中每个key的权重
member 会将它的分数乘以这个权重,每个 key 的权重默认为 1。
aggregate sum/ min |max:计算出成员的交集后,可以根据sum(and)和min(maximum)计算得分
总结了小值)和最大值(最大值)。默认值为总和。
更多推荐
所有评论(0)