当前位置: 首页 > article >正文

数据库:Redis命令行帮助解释

Redis命令:

  • Redis-cli
  • redis-server
  • redis-benchmark

下面是redis-cli命令行接口的帮助信息,该接口用于与Redis服务器进行交互。以下是参数的说明:

通用选项:

  • -h <主机名>: 指定Redis服务器的主机名(默认为127.0.0.1,即本地机器)。
  • -p <端口>: 指定Redis服务器的端口(默认为6379)。
  • -t <超时>: 连接到服务器的超时时间(以秒为单位,可以使用小数)。默认为0(无超时)。
  • -s <套接字>: 指定用于连接的Unix套接字,覆盖主机名和端口。
  • -a <密码>: 连接到Redis服务器的密码。
  • –user <用户名>: 使用用户名和密码进行ACL(访问控制列表)认证。
  • –pass <密码>: -a的别名,用于与--user选项兼容。
  • –askpass: 强制用户交互式地输入密码(忽略-aREDISCLI_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

redis-benchmark

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 证书的目录。如果未指定 cacertcacertdir,则使用系统默认的受信任根证书配置。
  • --insecure: 允许不安全的 TLS 连接,跳过证书验证。
  • --cert <file>: 用于认证的客户端证书。
  • --key <file>: 用于认证的私钥文件。
  • --tls-ciphers <list>: 设置首选的密码列表(TLSv1.2 及以下版本)。
  • --tls-ciphersuites <list>: 设置首选的密码套件列表(TLSv1.3)。

帮助和版本参数:

  • --help: 输出帮助信息并退出。
  • --version: 输出版本信息并退出。

下面是 redis-server 启动参数的详细解释:

  1. 基本用法

    • ./redis-server [/path/to/redis.conf] [options]:这是 redis-server 的基本用法,你可以通过指定配置文件的路径来启动 Redis 服务器,并附加一些额外的命令行选项。
    • ./redis-server -:这种用法允许你从标准输入(stdin)读取配置信息。
    • ./redis-server -v or --version:打印 Redis 服务器的版本信息。
    • ./redis-server -h or --help:显示帮助信息,包括所有可用的命令行选项。
  2. 示例

    • ./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
  3. Sentinel 模式

    • ./redis-server /etc/sentinel.conf --sentinel:以 Sentinel 模式启动 Redis 服务器,使用指定的配置文件。

这些是 redis-server 启动时常用的参数和选项。如果你需要更详细的配置选项,可以在启动时使用 -h 查看所有可用的命令行参数,或者在配置文件中设置更多的运行时参数。如果你有其他问题或需要进一步的帮助,请随时告知。


http://www.kler.cn/a/508914.html

相关文章:

  • 论文笔记-arXiv2025-A survey about Cold Start Recommendation
  • 【PyQt】图像处理系统
  • 《汽车维修技师》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • Json转换类型报错问题:java.lang.Integer cannot be cast to java.math.BigDecimal
  • 【Linux】Socket编程-TCP构建自己的C++服务器
  • PL/SQL语言的语法糖
  • HarmonyOS NEXT开发进阶(九):UIAbility 组件生命周期及启动模式讲解
  • Google Titans 是否会终结基于 Transformer 的大语言模型(LLMs)
  • sort(函数模板)和priority_queue(类模板)的比较器重载
  • Dexie.js 事务管理详解
  • 读spring官方文档的一些关键知识点介绍
  • Node-Red使用笔记
  • 关于安科瑞Acrel-1000DP分布式光伏监控系统的实际案例分析-安科瑞 蒋静
  • 【JavaEE】Spring(1)
  • ASP .NET Core 学习 (.NET 9)- 创建 API项目,并配置Swagger及API 分组或版本
  • 论文浅尝 | 从大型语言模型进行情境化提炼以完成知识图谱(ACL2024)
  • 人脸识别【python-基于OpenCV】
  • 一文读懂服务器的HBA卡
  • SpringBoot的Bean-初级获取bean对象
  • Unity新版InputSystem短按与长按,改键的实现
  • 《自动驾驶与机器人中的SLAM技术》ch4:基于预积分和图优化的 GINS
  • Nginx调优
  • BUUCTF_SQL注入
  • Yii框架中的日历控件如何实现日期选择器
  • python matplotlib绘图,显示和保存没有标题栏和菜单栏的图像
  • Spring Boot spring.factories文件详细说明