版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/102715831
文章目录
从本篇开始介绍 Redis 中常用的命令,也对每个常用命令作个总结。
一、Redis客户端启动
在配置好环境变量后可以直接使用
redis-cli
命令启动 Redis客户端。(配置环境变量在这里我就不详细介绍了,相信在看我这篇博客的小伙伴们应该是有这个基础的,嘿嘿)
1、启动命令
- 命令格式
redis-cli
- 示例
redis-cli
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING
PONG
注: 上述示例是连接到本地的 Redis 服务器,并执行了 PING
命令,PING
命令是用于检测 Redis 服务器是否已经启动了。
2、在远程服务上执行命令
- 命令格式
redis-cli -h 主机地址 -p 端口号 -a 密码
- 示例
连接主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 redis 服务上。
redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING
PONG
二、Redis常用键命令
Redis键命令 是用于管理 Redis 的键。
1、删除指定key
返回被删除 key的数量。
- 命令格式
DEL 键名
- 示例
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> get name
"zs"
redis 127.0.0.1:6379> del name
(integer) 1
redis 127.0.0.1:6379> get name
(nil)
2、判断指定key是否存在
若 key 存在返回 1 ,否则返回 0 。
- 命令格式
EXISTS 键名
- 示例
redis 127.0.0.1:6379> exists name
(integer) 0
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> exists name
(integer) 1
3、设置key的过期时间(秒)
设置成功返回 1 ,否则返回 0。
- 命令格式
EXPIRE 键名 秒数
- 示例
为键 name 设置过期时间为 60秒,60秒 后该键会自动删除。
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> expire name 60
(integer) 1
4、设置key的过期时间(时间戳)
设置成功返回 1 ,否则返回 0。
- 命令格式
EXPIREAT 键名 过期的时间戳(秒)
- 示例
为键 name 设置在 2011-01-01 08:00:00 过期并自动删除。(时间戳为:1293840000)
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> expireat name 1293840000
(integer) 1
5、设置key的过期时间(毫秒)
设置成功返回 1 ,否则返回 0。
- 命令格式
PEXPIRE 键名 毫秒
- 示例
为键 name 设置在 600毫秒后自动删除。
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> pexpire name 600
(integer) 1
6、设置key的过期时间(以毫秒计的时间戳)
设置成功返回 1 ,否则返回 0。
- 命令格式
PEXPIREAT 键名 过期的时间戳(毫秒)
- 示例
为键 name 设置在 2011-01-01 08:00:00 过期并自动删除。(毫秒计的时间戳为:1293840000000)
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> pexpireat name 1293840000000
(integer) 1
7、查找符合的key
符合给定模式的 key 列表 (Array)。
- 命令格式
KEYS 模式
- 示例
# 查找以 stu 为开头的 key:
redis 127.0.0.1:6379> keys stu*
1) "stu3"
2) "stu1"
3) "stu2"
# 获取 redis 中所有的 key 可用使用 *。
redis 127.0.0.1:6379> keys *
1) "stu3"
2) "stu1"
3) "stu2"
8、移动key到指定数据库
另一个数据库已经存在该key,则移动失败。移动成功返回 1 ,失败则返回 0 。
- 命令格式
MOVE 键名 数据库
- 示例
redis 127.0.0.1:6379> select 0
redis 127.0.0.1:6379> move name 1
(integer) 1
9、取消key的过期时间,使该key永不过期
当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0 。
- 命令格式
PERSIST 键名
- 示例
redis> set mykey "Hello"
OK
redis> expire mykey 10 # 为 key 设置生存时间
(integer) 1
redis> persist mykey # 移除 key 的生存时间
(integer) 1
10、以秒为单位返回 key 的剩余过期时间
当 key 不存在,或者 key 没有设置剩余生存时间时,命令返回 -1,否则,以毫秒为单位,返回 key 的剩余生存时间。
- 命令格式
TTL 键名
- 示例
redis 127.0.0.1:6379> set name zhangsan
OK
redis 127.0.0.1:6379> expire name 60
(integer) 1
redis 127.0.0.1:6379> ttl name
(integer) 55
redis 127.0.0.1:6379> ttl aage
(integer) -1
11、随机返回key
当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil 。
- 命令格式
RANDOMKEY
- 示例
redis 127.0.0.1:6379> randomkey
(nil)
redis 127.0.0.1:6379> set name zs
OK
redis 127.0.0.1:6379> set age 10
OK
redis 127.0.0.1:6379> randomkey
"name"
12、修改key的名称
改名成功时提示 OK ,失败时候返回一个错误。
- 命令格式
RENAME 旧的键名 新的键名
- 示例
redis 127.0.0.1:6379> rename name na
OK
redis 127.0.0.1:6379> keys *
1) "na"
2) "age"
redis 127.0.0.1:6379> rename address addr
(error) ERR no such key
13、获取key的数据类型
它会返回 key 的数据类型,数据类型有:
- none (key不存在)
- string (字符串)
- list (列表)
- set (集合)
- zset (有序集)
- hash (哈希表)
- 命令格式
TYPE 键名
- 示例
# 字符串
redis> SET name "sunny"
OK
redis> type name
string
# 列表
redis> lpush book_list "JAVA"
(integer) 1
redis> type book_list
list
# 集合
redis> sadd pat_set "dog"
(integer) 1
redis> type pat_set
set