千家信息网

Redis常用命令(四)数据库管理、键管理、订阅发布

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,### 数据库管理keys pattern # 查找键,参数通配符查找keys * # 查看所有键keys n* # 查看以n开头的所有键keys *e # 查看以e结尾的所有键keys h?llok
千家信息网最后更新 2025年01月20日Redis常用命令(四)数据库管理、键管理、订阅发布

### 数据库管理


keys pattern # 查找键,参数通配符查找


keys * # 查看所有键

keys n* # 查看以n开头的所有键

keys *e # 查看以e结尾的所有键

keys h?llo

keys h[ae]llo


exists name # 查看name这个键是否存在,存在为1,不存在为0


type key # 查看键对应的value的类型

type name


del key1 key2 ... # 删除键及对应的值

del addr


rename key newkey # 将键的名字从key改成newkey,如果newkey已存在,则覆盖

rename num1 num3


renamenx key newkey # 将键的名字从key改成newkey,如果newkey已存在,则不做动作

renamenx num3 num2


# 通过调用sort命令对列表、集合以及有序集合进行排序

sort key [by pattern] [limit offset count] [get pattern [get pattern]] [asc|desc] [alpha] [store destination]

rpush numbers 9 5 1 3 2

sort numbers # 默认情况下sort命令会将键包含的值解释为浮点数,然后对浮点数进行排序

sort numbers asc

sort numbers desc


sadd names peter jack tom

sort names alpha # 使用alpha让sort命令基于字典序对文字进行排序


sort numbers limit 0 3 # 不跳过任何值,返回最开头的三个值

sort numbers limit 3 3 # 逃过最开头的三个值,然后返回紧接着的三个值


sort numbers store sorted-numbers # 通过指定store destkey,我们将排序结果存储到destkey中,排序的结果会以列表的形式存储


randomkey # 从当前数据库中随机的返回一个键,被返回的键不会被删除


# scan命令以渐进的方式分多次遍历整个数据库,并返回匹配给定模式的键

# cursor是遍历时使用的游标,开始新的遍历时需要将cursor设置为0,每次调用scan,命令都会返回一个新的游标值,再次调用scan需要输入整个游标值

# match pattern用于指定要匹配的模式

# count number指定这次遍历最多要返回多少个键

scan cursor [match pattern] [count number]

scan 0


sscan key cursor [match pattern] [count number] # 代替可能会阻塞服务器的smembers命令,遍历集合包含的各个元素

sscan names 0


hscan key cursor [match pattern] [count number] # 代替可能会阻塞服务器的hgetall命令,遍历散列包含的各个键值对

hscan daiby::info 0


zscan key cursor [match pattern] [count number] # 代替可能会阻塞服务器的zrange命令,遍历有序集合包含的各个元素

zscan "blog::paging" 0


dbsize # 返回数据库目前包含的键值对数量


flushdb # 删除当前数据库包含的所有键值对


select num # 切换数据库


move key target-db # 将当前数据库中的key移动到目标数据库中,如果目标数据库已经有同名的key,则不做动作

move numbers 1


flushall # 删除redis所有数据库里面的键值对


# 键过期功能

# expire 和 pexpire的作用是让键在N秒钟或者N毫秒之后被删除

# expireat 和 pexpireat的作用则是让键在指定的Unix时间到达之后被删除


expire key seconds # 设置键生存时间,以秒为单位,如果没有指定过期时间则一直存在,直到使用DEL移除

expire name 5


pexpire key milliseconds # 设置键生存时间,以毫秒为单位,一秒钟等于1000毫秒,redis默认100毫秒一次检查键是否过期

pexpire msg 5500


expireat key timestamp # 设置键过期时间,指定秒级Unix时间戳

expireat msg 100000005


pexpireat key milliseconds-timestamp # 设置键过期时间,指定毫秒级Unix时间戳

pexpireat msg 100000000000005


pttl key # 查看剩余生存时间,以毫秒为单位


ttl key # 查看剩余生存时间,以秒为单位

ttl age


persist # 删除生存时间或过期时间

persist msg


setex key seconds value # 设置键值及过期时间,以秒为单位

set age 5 18


psetex key millisecond value # 设置键值及过期时间,以毫秒为单位;相当于执行了set和pexpire两个命令

set age 5000 18



### 发布与订阅


subscribe channel [channel...] # 订阅给定的一个或多个频道

subscribe news::it


psubscribe pattern [pattern...] # 订阅一个或多个模式,pattern参数可以包含glob风格的匹配符(*,[],?)

psubscirbe news::[ie]t


# 退订命令的行为在各个客户端的表现都不同,redis-cli直接退出客户端来退订,Python和ruby则需要显示的执行命令

unsubcribe [channel|[channel...]] # 退订指定的频道,如果没有指定则退订已订阅的所有频道


punsubcribe [pattern|[pattern...]] # 退订指定的模式,如果没有指定则退订已订阅的所有模式


channels # 显示已订阅的频道


publish channel message # 将消息发送至指定的频道,命令返回收到信息的订阅者数量


pubsub channels [pattern] # 列出至少有一个订阅者的频道


pubsub numsub [channel...] # 返回给定频道的订阅者数量


pubsub numpat # 返回被订阅的模式数量


时间 命令 数据 订阅 数据库 频道 单位 模式 排序 数量 三个 开头 服务器 订阅者 服务 阻塞 有序 作用 元素 动作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 应用软件开发需要什么能力 关于网络安全的格言简短 双阳区网络技术诚信合作 数据库使用命令 数据库服务系统简写 装配式网络技术生产厂家 spss软件开发的公司 网络安全 九个方面 公安 网络安全应构建生态化防御 App软件开发原理 c+可视化软件开发 四个字互联网科技公司取名 dns服务器 主dns 北京网络技术有限公司电话 广东智慧工地管理平台软件开发 数据库用函数查时间段 数据库中的的数据如何备份 杭州电脑软件开发哪家可靠 康力电梯轿厢通讯板怎么进服务器 健康支付宝未找到数据库 杨浦区推广软件开发服务价格 网络游戏和服务器有关系吗 失落的方舟美东服务器 山东省软件开发人员测算依据 上海鑫恭互联网科技有限公司 镇江软件开发招人 信息网络安全知识简答题答案 武强县委网络安全和信息化 在数据库保护的技术体系中 如何进入网络安全大会
0