Redis命令:
下面是redis-cli
命令行接口的帮助信息,该接口用于与Redis服务器进行交互。以下是参数的说明:
通用选项:
- -h <主机名>: 指定Redis服务器的主机名(默认为
127.0.0.1
,即本地机器)。 - -p <端口>: 指定Redis服务器的端口(默认为
6379
)。 - -t <超时>: 连接到服务器的超时时间(以秒为单位,可以使用小数)。默认为0(无超时)。
- -s <套接字>: 指定用于连接的Unix套接字,覆盖主机名和端口。
- -a <密码>: 连接到Redis服务器的密码。
- –user <用户名>: 使用用户名和密码进行ACL(访问控制列表)认证。
- –pass <密码>:
-a
的别名,用于与--user
选项兼容。 - –askpass: 强制用户交互式地输入密码(忽略
-a
和REDISCLI_AUTH
环境变量)。 - -u : 指定连接URI,格式为
redis://user:password@host:port/dbnum
,其中user、password和dbnum是可选的。 - -r <重复>: 重复指定的命令多次。
- -i <间隔>: 当使用
-r
时,重复命令之间的间隔(以秒为单位)。 - -n <数据库>: 指定要连接的Redis数据库编号。
协议与格式化选项:
- -2: 以RESP2协议模式启动会话。
- -3: 以RESP3协议模式启动会话。
- -x: 从STDIN读取最后一个参数(对于大数据很有用)。
- -X: 类似于
-x
,但从STDIN读取一个标记的参数。 - -d <分隔符>: 原始格式化时响应块之间的分隔符(默认为换行符)。
- -D <分隔符>: 原始格式化时响应之间的分隔符。
- -c: 启用集群模式(遵循
-ASK
和-MOVED
重定向)。 - -e: 如果命令执行失败,则返回退出错误代码。
IPv6/IPv4和安全:
- -4: DNS查找时优先使用IPv4而非IPv6。
- -6: DNS查找时优先使用IPv6而非IPv4。
- –tls: 使用安全的TLS连接。
- –sni <主机>: 为TLS设置服务器名称指示(SNI)。
- –cacert <文件>: TLS验证的CA证书文件路径。
- –cacertdir <目录>: 存储CA证书的目录。
- –insecure: 允许不安全的TLS连接(跳过证书验证)。
- –cert <文件>: 用于认证的客户端证书。
- –key <文件>: 用于认证的客户端私钥。
- –tls-ciphers <列表>: 首选的密码列表(适用于TLSv1.2及以下版本)。
- –tls-ciphersuites <列表>: 首选的密码套件列表(适用于TLSv1.3)。
输出格式化:
- –raw: 使用原始格式回复(当STDOUT不是TTY时的默认值)。
- –no-raw: 即使STDOUT不是TTY,也强制使用格式化输出。
- –quoted-input: 强制将输入视为带引号的字符串。
- –csv: 以CSV格式输出。
- –json: 以JSON格式输出(默认为RESP3)。
- –quoted-json: 以ASCII安全带引号的字符串输出JSON。
- –show-pushes : 是否打印RESP3 PUSH消息(在TTY上默认启用)。
服务器统计与调试:
- –stat: 打印Redis服务器的滚动统计信息(例如,内存使用情况、客户端)。
- –latency: 连续采样延迟。在交互模式下输出实时统计信息。
- –latency-history: 跟踪延迟随时间的变化。
- –latency-dist: 以频谱形式显示延迟(需要xterm 256色)。
- –lru-test <键>: 模拟80-20缓存工作负载。
- –replica: 模拟从服务器,显示从主服务器接收到的命令。
键采样与扫描:
- –rdb <文件名>: 将远程服务器的RDB转储传输到本地文件(使用"-"表示stdout)。
- –functions-rdb <文件名>: 类似于
--rdb
,但只包含函数,不包含键。 - –pipe: 将原始Redis协议从stdin传输到服务器。
- –pipe-timeout : 如果在
--pipe
模式下未收到回复,则超时。 - –bigkeys: 采样Redis键,查找具有许多元素(复杂性)的键。
- –memkeys: 采样Redis键,查找消耗大量内存的键。
- –memkeys-samples : 采样指定数量的消耗大量内存的Redis键。
- –keystats: 采样Redis键以获取内存大小和长度。
- –keystats-samples : 定义要采样的键元素数量(用于内存使用情况)。
- –cursor : 从游标开始扫描,对于在Ctrl-C之后继续很有用。
- –top : 显示前N个键的大小。
- –hotkeys: 采样Redis键以查找“热键”(仅在使用LFU逐出策略时有效)。
- –scan: 使用SCAN命令列出所有键。
- –pattern <模式>: 在使用
--scan
、--bigkeys
或--hotkeys
时的键模式。 - –count <数量>: 在
--scan
、--bigkeys
或--hotkeys
中采样的键数量。 - –quoted-pattern <模式>: 允许以引号形式传递非二进制安全模式。
Lua脚本:
- –eval <文件>: 使用
EVAL
命令从指定文件执行Lua脚本。 - –ldb: 启用Lua调试器。
- –ldb-sync-mode: 使用同步Lua调试器(阻塞服务器)。
集群管理:
- –cluster <命令> [参数…] [选项…]: 集群管理命令和参数。
- –verbose: 启用详细模式。
- –no-auth-warning: 在命令行上抑制密码使用警告。
- –help: 显示帮助。
- –version: 显示
redis-cli
的版本。
示例:
- 使用身份验证连接到Redis:
redis-cli -u redis://default:PASSWORD@localhost:6379/0
- 从文件读取输入:
cat /etc/passwd | redis-cli -x set mypasswd
- 运行Lua脚本:
redis-cli --eval myscript.lua key1 key2 , arg1 arg2 arg3
redisbenchmark_94">redis-benchmark
redisbenchmark__95">redis-benchmark 参数解释
通用参数:
-h <hostname>
: 指定 Redis 服务器的主机名,默认为 127.0.0.1。-p <port>
: 指定 Redis 服务器的端口,默认为 6379。-s <socket>
: 指定 Redis 服务器的套接字,这会覆盖主机和端口的设置。-a <password>
: 提供 Redis 认证的密码。--user <username>
: 使用 ACL 风格的认证方式,需要与-a
参数一起使用。-u <uri>
: 指定服务器的 URI,格式为redis://user:password@host:port/dbnum
,用户、密码和数据库编号是可选的。对于需要认证但没有用户名的情况,可以使用用户名 ‘default’。对于 TLS 连接,使用 ‘rediss’ 作为方案。-c <clients>
: 指定并行连接的数量,默认为 50。如果使用--cluster
参数,则客户端数量必须与节点数量相同或更多。-n <requests>
: 指定总请求数,默认为 100000。-d <size>
: 指定 SET/GET 值的数据大小(以字节为单位),默认为 3。--dbnum <db>
: 选择指定的数据库编号,默认为 0。-3
: 使用 RESP3 协议模式启动会话。--threads <num>
: 启用多线程模式。--cluster
: 启用集群模式。如果命令行中提供了该参数,则键必须包含 “{tag}”,否则命令将不会被发送到正确的集群节点。--enable-tracking
: 在开始基准测试前发送CLIENT TRACKING on
命令。-k <boolean>
: 1 表示保持连接,0 表示重新连接,默认为 1。-r <keyspacelen>
: 使用随机键进行 SET/GET/INCR,使用随机值进行 SADD,使用随机成员和分数进行 ZADD。该选项会将__rand_int__
字符串替换为一个 12 位数字,范围从 0 到 keyspacelen-1。每次执行命令时,替换都会变化。默认测试使用此选项在指定范围内随机命中键。如果省略-r
,则所有基准测试中的命令都将使用相同的键。-P <numreq>
: 指定管道请求的数量,默认为 1(无管道)。-q
: 安静模式,只显示每秒查询的数量。--precision
: 指定在延迟输出中显示的小数位数,默认为 0。--csv
: 以 CSV 格式输出结果。-l
: 循环模式,无限期运行测试。-t <tests>
: 只运行指定的测试列表,测试名称与输出的名称相同。如果命令行中提供了特定命令,则忽略-t
参数。-I
: 空闲模式,只打开 N 个空闲连接并等待。-x
: 从 STDIN 读取最后一个参数。--seed <num>
: 设置随机数生成器的种子,默认基于时间。--tls
: 建立安全的 TLS 连接。--sni <host>
: TLS 的服务器名称指示。--cacert <file>
: CA 证书文件,用于验证。--cacertdir <dir>
: 存储受信任 CA 证书的目录。如果未指定cacert
或cacertdir
,则使用系统默认的受信任根证书配置。--insecure
: 允许不安全的 TLS 连接,跳过证书验证。--cert <file>
: 用于认证的客户端证书。--key <file>
: 用于认证的私钥文件。--tls-ciphers <list>
: 设置首选的密码列表(TLSv1.2 及以下版本)。--tls-ciphersuites <list>
: 设置首选的密码套件列表(TLSv1.3)。
帮助和版本参数:
--help
: 输出帮助信息并退出。--version
: 输出版本信息并退出。
下面是 redis-server
启动参数的详细解释:
-
基本用法:
-
示例:
./redis-server
:使用默认配置文件启动 Redis 服务器。./redis-server /etc/redis/6379.conf
:使用指定路径下的配置文件启动 Redis 服务器。./redis-server --port 7777
:启动 Redis 服务器并设置端口为 7777。./redis-server --port 7777 --slaveof 127.0.0.1 8888
:设置 Redis 服务器为指定主服务器的从服务器,主服务器地址为127.0.0.1
,端口为8888
。./redis-server /etc/myredis.conf --loglevel verbose
:使用指定的配置文件启动 Redis 服务器,并将日志级别设置为verbose
。
-
Sentinel 模式:
./redis-server /etc/sentinel.conf --sentinel
:以 Sentinel 模式启动 Redis 服务器,使用指定的配置文件。
这些是 redis-server
启动时常用的参数和选项。如果你需要更详细的配置选项,可以在启动时使用 -h
查看所有可用的命令行参数,或者在配置文件中设置更多的运行时参数。如果你有其他问题或需要进一步的帮助,请随时告知。