redis-cli 登录:
redis-cli
是 Redis 自带的命令行客户端工具,用于与 Redis 服务器进行交互。它提供了多种参数和命令来执行各种操作。以下是 redis-cli
的一些常用参数及其用途:
基本连接参数
-h <hostname>
:指定要连接的 Redis 服务器主机名,默认是127.0.0.1
。-p <port>
:指定要连接的 Redis 服务器端口,默认是6379
。-a <password>
:直接提供密码认证,避免手动输入AUTH
命令。注意这种方式密码会以明文形式显示在进程列表中,不推荐在生产环境中使用。-n <db>
:选择数据库编号(默认为0
)。
示例:
redis-cli -h my.redis.server -p 6379 -a mypassword -n 1
安全连接
--tls
:使用 TLS/SSL 连接到 Redis 服务器。需要服务器支持 TLS。--cert <path>
、--key <path>
、--cacert <path>
:分别指定客户端证书、私钥以及CA证书路径,当使用TLS时需要这些参数。
执行单个命令并退出
-c "command"
或者在命令后直接跟命令:可以在不进入交互模式的情况下执行命令并退出。例如:
redis-cli GET mykey
或者:
redis-cli -h my.redis.server -p 6379 GET mykey
其他常用选项
--scan
和--pattern <pattern>
:用于扫描键空间,适用于处理大量键的情况。--pattern
指定匹配模式。--csv
:以CSV格式输出结果,适合脚本处理。-r <count>
:重复执行给定的命令 count 次。-i <interval>
:每隔 interval 秒重复执行一次命令,常与-r
配合使用。--eval <file>
:评估 Lua 脚本文件。
实用命令示例
-
查看服务状态信息:
redis-cli INFO
-
检查延迟情况:
redis-cli --latency
-
批量删除匹配的键:
redis-cli --scan --pattern "user:*" | xargs redis-cli del
数据操作命令
-
设置键值对
SET key value
:设置指定键的值。SET mykey "Hello"
-
获取键值
GET key
:获取指定键的值。GET mykey
-
检查键是否存在
EXISTS key
:检查键是否存在,返回整数,表示存在的数量。EXISTS mykey
-
删除键
DEL key [key ...]
:删除一个或多个键。DEL mykey
-
设置键的过期时间
EXPIRE key seconds
:为给定 key 设置生存时间,单位为秒。EXPIRE mykey 60
-
查看键的类型
TYPE key
:返回键所存储的值的类型。TYPE mykey
-
列出符合模式的所有键
KEYS pattern
:查找所有符合给定模式的键(注意:在生产环境中应谨慎使用此命令)。KEYS my*
-
增量和减量
INCR key
:将键存储的数字值增加1。INCR mycounter
DECR key
:将键存储的数字值减少1。DECR mycounter
服务器相关命令
-
查看服务状态信息
INFO [section]
:获取关于 Redis 服务器的各种信息和统计数据。你可以指定部分如server
,clients
,memory
,persistence
等。INFO server
-
查看所有键
- 使用
SCAN
替代KEYS
来安全地遍历键空间。SCAN 0 MATCH * COUNT 10
- 使用
-
切换数据库
SELECT index
:选择数据库编号(默认是0)。SELECT 1
-
查看当前数据库中的键数量
DBSIZE
:返回当前数据库中的键的数量。DBSIZE
-
刷新数据库
FLUSHDB
:清空当前数据库中的所有键。FLUSHDB
FLUSHALL
:清空所有数据库中的所有键。FLUSHALL
-
配置查询与修改
CONFIG GET parameter
:获取配置参数的值。CONFIG GET *
CONFIG SET parameter value
:动态设置配置参数的值。CONFIG SET maxmemory 2gb
事务处理
-
开启事务
MULTI
:标记一个事务块的开始。MULTI
-
执行事务
EXEC
:执行所有在MULTI
之后入队列的命令。EXEC
-
取消事务
DISCARD
:取消事务,放弃执行事务块内的所有命令。DISCARD
这些只是 Redis 提供的部分命令,Redis 支持丰富的数据结构(字符串、哈希、列表、集合、有序集合等),每个数据结构都有对应的命令集用于操作。根据你的具体需求,可能还需要探索更多特定的数据结构命令。例如,对于列表可以使用 LPUSH
, RPUSH
, LPOP
, RPOP
等;对于集合可以使用 SADD
, SMEMBERS
, SREM
等。