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  # 返回被订阅的模式数量

时间: 2024-10-21 23:02:57

Redis常用命令(四)数据库管理、键管理、订阅发布的相关文章

Redis常用命令手册:键值相关命令

Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一总结. 键值相关命令 1.keys 返回满足给定pattern的所有key: redis 127.0.0.1:6379> keys * 1) "myzset2" 2) "myzset3" 3) "mylist" 4) "myset2&

Redis常用命令与高级应用

附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9e" 127.0.0.1:6379> quit [[email protected] redis-2.8.6]# redisc --raw 127.0.0.1:6379> get xiaofei 小飞 127.0.0.1:6379> 5. sorted sets类型和操作 sort

自学总结redis第二部分(redis常用命令、高级命令特性以及与java代码的结合)

六.redis多数据类型介绍(常用命令) 6.1前提操作 #如果前面的redis环境没搭好,那么可以先暂时在 "http://try.redis.io/"中实践redis命令部分.   #为了测试方便,把redis登录密码暂时撤销   #redis一共分为五种基本数据类型:String,Hash,List,Set,ZSet #所有命令都可以到"http://www.redis.cn/commands.html"  去搜索到. #首先由于redis是一个基于key-v

redis常用命令及高级特性

11.redis常用命令 keys * 返回所有的键 keys my* 模糊匹配 exists key 确认key是否存在 del key expire key time对现有的键设置过期时间[秒为单位] ttl key 查看过期时间,-1代表已过期 move 将当期数据库中的key移到其它数据库当中 select database_name 选择数据库 move key database_name persist key 取消过期时间,此时ttl key返回-1并不代表过期 randomkey

No-sql之redis常用命令

转自:http://blog.csdn.net/nicewuranran/article/details/51793760 No-SQL之Redis 介绍 Redis是一种基于内存存储的key-value高性能存储系统,类似memcached,但是redis支持丰富的数据结构类型,并且其还支持数据持久化到磁盘. Redis is a data structure server. It is open-source, networked, in-memory, and stores keys wi

Redis快速起步及Redis常用命令大全

本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的相关问题,为了更方便的与大家一起探讨与学习,每个章节均提供尽可能详细的示例源码及注释,所有示例源码均可在javacourse-redis-in-action找到相关帮助! 本章目标: 什么是Redis Redis数据结构 Redis常用命令 什么是Redis Redis是一个功能强大的非关系型内存数

Linux常用命令_(进程管理)

进程管理:ps.top.kill 指令名称:ps语法:ps [选项]-a显示所有终端机下执行的程序.-e显示所有程序.-f显示UID,PPIP,C与STIME栏位.功能描述:查看系统中运行的进程.范例:# ps -aef# ps -A 查看所有进程,和ps -e功能相同 指令名称:top语法:top [-] [d 间隔秒数] [q] [c] [s] [S] [i]d<间隔秒数>设置top监控程序执行状况的间隔时间,单位:秒.功能描述:实时监视系统处理器的状态等信息.范例:# top -d 1

Linux常用命令(四)

Linux常用命令(四) 目前已经总结了,文件操作命令,目录操作命令,查看目录下的文件及目录结构,本节我来总结一下Linux另外两个重要的命令rm删除命令和find查找命令. 1 rm命令 rm命令是Linux系统中常用的命令,该命令的功能为删除一个目中的文件或多个文件或目录,对于链接文件,只是删除了链接,对原始文件没有影响,rm命令十分危险,新手要特别当心. 1.1 语法 rm [选项] 文件... 1.2 命令参数 -i 每个删除操作完成前都有确认提示 -I 删除超过 3 个文件时或递归删除

Redis 常用命令 大全

Redis 常用命令 发现几个很好的 Redis 常用命令汇总大全网页,分享给小伙伴们~ 1.Redis 命令参考 http://redisdoc.com/string/index.html 2.W3Cschool https://www.w3cschool.cn/redis_all_about/redis_all_about-sfc726u6.html 3.Runoob https://www.runoob.com/redis/redis-commands.html 原文地址:https://

Redis常用命令-list-set-zset

Redis常用命令 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)等 https://gitee.com/nmwork/RedisUtil 1.   Redis数据类型 1.1.  List类型 1.1.1.   简介 Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每