Redis命令

2018/02/14 Redis

Redis的Key命令

写完了Redis的数据结构,接着我们看下Redis的Key相关操作:

命令 描述 用法
DEL (1)删除给定的一个或多个key(2)不存在的Key将被忽略 DEL key [key …]
EXISTS (1)检查给定key是否存在 EXISTS key
EXPIRE (1)为给定key设置生存时间,key过期时它会被自动删除(2)对一个已经指定生存时间的Key设置执行EXPIRE,新的值会代替旧的值 EXPIRE key seconds
EXPIREAT (1)同EXPIRE,但此命令指定的是UNIX时间戳,单位为秒 EXPIRE key timestamp
KEYS (1)查找所有符合给定模式pattern的key,下面举一下例子(2)KEYS 匹配所有key(3)KEYS h?llo匹配hello、hallo、hxllo等(4)KEYS hllo匹配hllo、heeeeello等(5)KEYS h[ae]llo匹配hello和hallo(6)特殊符号想当做查找内容经的使用\ KEYS pattern
MIGRATE (1)原子性地将key从当前实例传送到目标实例指定的数据库上(2)原数据库Key删除,新数据库Key增加(3)阻塞进行迁移的两个实例,直到迁移成功、迁移失败、等待超时三个之一发生 MIGRATE host port key destination-db timeout [COPY] [REPLACE]
MOVE (1)将当前数据库的key移动到给定数据库的db中(2)执行成功的条件为当前数据库有key,给定数据库没有key MOVE key db
PERSIST (1)移除给定key的生存时间,将key变为持久的 PERSIST key
RANDOMKEY (1)从当前数据库随机返回且不删除一个key, RANDOMKEY
RENAME (1)将key改名为newkey(2)当key和newkey相同或key不存在,报错(3)newkey已存在,RENAME将覆盖旧值 RENAME key newkey
TTL (1)以秒为单位,返回给定的key剩余生存时间 TTL key
PTTL (1)以毫秒为单位,返回给定的key剩余生存时间 PTTL key
TYPE (1)返回key锁存储的值的类型 TYPE key

这里特别注意KEYS命令,虽然KEYS命令速度非常快,但是当Redis中百万、千万甚至过亿数据的时候,扫描所有Redis的Key,速度仍然会下降,由于Redis是单线程模型,这将导致后面的命令阻塞直到KEYS命令执行完。

因此当Redis中存储的数据达到了一定量级(经验值从10W开始就值得注意了)的时候,必须警惕KEYS造成Redis整体性能下降

系统相关命令

接着介绍一下部分系统相关命令:

命令 描述 用法
BGREWRITEAOF (1)手动触发AOF重写操作,用于减小AOF文件体积 BGREWRITEAOF
BGSAVE (1)后台异步保存当前数据库的数据到磁盘 BGSAVE
CLIENT KILL (1)关闭地址为ip:port的客户端(2)由于Redis为单线程设计,因此当当前命令执行完之后才会关闭客户端 CLIENT KILL ip:port
CLIENT LIST (1)以可读的格式,返回所有连接到服务器的客户端信息和统计数据 CLIENT LIST
CONFIG GET (1)取得运行中的Redis服务器配置参数(2)支持* CONFIG GET parameter
CONFIG RESETSTAT (1)重置INFO命令中的某些统计数据,例如Keyspace hits、Keyspace misses等 CONFIG RESETSTAT
CONFIG REWRITE (1)对启动Redis时指定的redis.conf文件进行改写 CONFIG REWRITE
CONFIG SET (1)动态调整Redis服务器的配置而无需重启(2)修改后的配置立即生效 CONFIG SET parameter value
SELECT (1)切换到指定数据库,数据库索引index用数字指定,以0作为起始索引值(2)默认使用0号数据库 SELECT index
DBSIZE (1)返回当前数据库的Key的数量 DBSIZE
DEBUG OBJECT (1)这是一个调试命令,不应当被客户端使用(2)key存在时返回有关信息,key不存在时返回错误 DEBUG OBJECT key
FLUSHALL (1)清空整个Redis服务器的数据 FLUSHALL
FLUSHDB (1)清空当前数据库中的所有数据 FLUSHDB
INFO (1)以一种易于解释且易于阅读的格式,返回Redis服务器的各种信息和统计数值(2)通过给定可选参数section,可以让命令只返回某一部分信息 INFO [section]
LASTSAVE (1)返回最近一次Redis成功将数据保存到磁盘上的时间,以UNIX时间戳格式表示 LASTSAVE
MONITOR (1)实时打印出Redis服务器接收到的命令,调试用 MONITOR
SHUTDOWN (1)停止所有客户端(2)如果至少有一个保存点在等待,执行SAVE命令(3)如果AOF选项被打开,更新AOF文件(4)关闭Redis服务器 SHUTDOWN [SAVE|NOSAVE]

Search

    微信好友

    博士的沙漏

    Table of Contents