随着 Linux 系统的普及和 Redis 的广泛应用,掌握 Redis CLI 的使用方法对于提高系统效率和数据管理能力至关重要。本文将详细介绍如何在 Linux 系统中安装 Redis CLI,涵盖从基础环境准备到实际操作的全过程,帮助读者快速上手 Redis 的命令行工具。 一、Linux 系统环境准备 在安装 Redis CLI 之前,首先需要确保 Linux 系统已正确安装并配置了必要的依赖库。Linux 系统通常使用包管理器如 `apt`(Debian/Ubuntu)、`yum`(CentOS/RHEL)或 `dnf`(Fedora)进行软件安装。
1.1安装依赖库 Redis CLI 依赖于一些系统库,如 `libssl`、`libevent` 等。安装这些依赖库可以确保 Redis CLI 的正常运行。 - Debian/Ubuntu ```bash sudo apt update sudo apt install -y libssl-dev libevent-dev ``` - CentOS/RHEL ```bash sudo yum install -y openssl-devel libevent-devel ``` - Fedora ```bash sudo dnf install -y openssl-devel libevent-devel ```
1.2安装 Redis 服务器 Redis 服务器的安装通常通过包管理器完成。
例如,在 Debian/Ubuntu 系统中: - 安装 Redis ```bash sudo apt install -y redis-server ``` - 启动 Redis 服务 ```bash sudo systemctl start redis sudo systemctl enable redis ``` - 检查 Redis 服务状态 ```bash sudo systemctl status redis ``` 如果 Redis 服务未启动,可以尝试手动启动: ```bash redis-server /etc/redis/redis.conf ``` 二、Redis CLI 的基本操作 Redis CLI 提供了丰富的命令用于管理 Redis 数据库、执行操作、监控性能等。
下面呢是 Redis CLI 的基本操作和命令示例。
2.1连接 Redis 服务器 使用 `redis-cli` 命令连接到 Redis 服务器: ```bash redis-cli ``` 默认情况下,Redis CLI 会连接到本地 Redis 服务器,如果需要连接远程服务器,可以使用以下命令: ```bash redis-cli -h
2.2基本命令示例 - 查看当前连接的 Redis 服务器信息 ```bash redis-cli info ``` - 查看 Redis 数据库状态 ```bash redis-cli info redis ``` - 查看 Redis 的内存使用情况 ```bash redis-cli info memory ``` - 查看 Redis 的配置信息 ```bash redis-cli config get ``` - 查看 Redis 的统计信息 ```bash redis-cli monitor ``` - 查看 Redis 的运行时间 ```bash redis-cli time ``` - 查看 Redis 的客户端连接数 ```bash redis-cli monitor ``` 三、Redis CLI 的高级操作 Redis CLI 提供了多种高级操作,包括数据类型操作、键操作、事务处理、Lua 脚本等。
1.1数据类型操作 - 设置键值 ```bash SET key value ``` - 获取键值 ```bash GET key ``` - 删除键 ```bash DEL key ``` - 获取键的值类型 ```bash TYPE key ``` - 获取键的过期时间 ```bash EXPIRE key seconds ``` - 设置键的过期时间 ```bash EXPIRE key seconds ```
3.2键操作 - 获取所有键 ```bash KEYLIST ``` - 删除所有键 ```bash FLUSHALL ``` - 删除指定键 ```bash DEL key1 key2 ``` - 获取键的值 ```bash GET key ``` - 获取键的哈希结构 ```bash HGETALL key ``` - 获取键的集合结构 ```bash ZCOUNT key min max ``` - 获取键的排序结构 ```bash ZRANGE key 0 -1 ```
3.3事务处理 Redis CLI 支持事务,可以使用 `MULTI`、`EXEC`、`DISCARD` 等命令进行事务处理。 - 开启事务 ```bash MULTI ``` - 执行事务命令 ```bash SET key value DEL key ``` - 提交事务 ```bash EXEC ``` - 取消事务 ```bash DISCARD ``` - 获取事务日志 ```bash LASTLOG ``` 四、Redis CLI 的监控与性能优化 Redis CLI 提供了丰富的监控命令,帮助用户了解 Redis 的运行状态和性能表现。
4.1监控 Redis 状态 - 查看 Redis 的内存使用情况 ```bash redis-cli info memory ``` - 查看 Redis 的连接数 ```bash redis-cli monitor ``` - 查看 Redis 的运行时间 ```bash redis-cli time ``` - 查看 Redis 的客户端连接数 ```bash redis-cli monitor ``` - 查看 Redis 的 CPU 使用率 ```bash redis-cli info cpu ```
4.2性能优化 - 调整 Redis 的配置参数 ```bash redis-cli config set maxmemory 1024MB ``` - 调整 Redis 的持久化策略 ```bash redis-cli config set persistence redis ``` - 调整 Redis 的日志级别 ```bash redis-cli config set loglevel verbose ``` - 调整 Redis 的网络参数 ```bash redis-cli config set tcp-backlog 511 ``` 五、Redis CLI 的脚本与自动化 Redis CLI 支持 Lua 脚本,可以用于实现复杂的逻辑操作。用户可以通过 `EVAL` 命令执行 Lua 脚本。
5.1执行 Lua 脚本 - 编写 Lua 脚本 ```lua -- example.lua local key = "mykey" local value = redis.call("GET", key) return value ``` - 执行 Lua 脚本 ```bash EVAL example.lua 1 "mykey" ``` - 执行 Lua 脚本并获取结果 ```bash EVAL example.lua 1 "mykey" 1 ``` 六、Redis CLI 的安全配置 Redis CLI 的安全配置包括密码认证、访问控制、防火墙设置等。 6.1 设置密码认证 在 Redis 配置文件中设置密码: ```bash redis-cli config set requirepass "your_password" ``` 6.2 配置访问控制 在 Redis 配置文件中设置访问控制: ```bash redis-cli config set requirepass "your_password" redis-cli config set requirepass "your_password" ``` 6.3 配置防火墙 在 Linux 系统中配置防火墙,确保 Redis 端口(默认 6379)开放: ```bash sudo ufw allow 6379/tcp sudo ufw enable ``` 七、Redis CLI 的常见问题与解决方案 7.1 Redis 无法连接 - 检查 Redis 服务是否运行 ```bash sudo systemctl status redis ``` - 检查 Redis 的监听端口 ```bash netstat -tuln | grep 6379 ``` - 检查防火墙设置 ```bash sudo ufw status ``` 7.2 Redis 命令执行失败 - 检查 Redis 的配置文件是否正确 ```bash redis-cli config get dir ``` - 检查 Redis 的日志文件 ```bash tail -f /var/log/redis/redis-server.log ``` - 检查 Redis 的内存使用情况 ```bash redis-cli info memory ``` 7.3 Redis 命令超时 - 调整 Redis 的最大连接数 ```bash redis-cli config set maxmemory 1024MB ``` - 调整 Redis 的超时时间 ```bash redis-cli config set timeout 5000 ``` 八、Redis CLI 的扩展与集成 Redis CLI 可以与其他工具集成,例如使用 `curl`、`jq`、`sed` 等工具进行数据处理。 8.1 使用 curl 连接 Redis ```bash curl http://localhost:6379 ``` 8.2 使用 jq 解析 JSON 数据 ```bash redis-cli get key | jq . ``` 8.3 使用 sed 进行字符串处理 ```bash redis-cli get key | sed 's/old/new/g' ``` 九、Redis CLI 的最佳实践 - 定期备份 Redis 数据 ```bash redis-cli config set save 900 1 3600 1 86400 1 redis-cli shutdown redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli redis-cli