Redis(11)如何通过命令行操作Redis?

通过命令行操作 Redis 主要依赖于 redis-cli 工具,它是 Redis 自带的命令行客户端。 redis-cli 提供了多种操作命令,允许用户进行数据的增删改查、数据库管理、服务器控制等操作。下面详细介绍如何通过命令行操作 Redis,并给出相应的代码示例。

1. 启动 redis-cli

首先启动 redis-cli,连接到本地 Redis 服务器:

bash 复制代码
redis-cli

如果需要连接远程 Redis 服务器,可以指定主机和端口:

bash 复制代码
redis-cli -h <remote_host> -p <port>

例如,连接到远程服务器:

bash 复制代码
redis-cli -h 192.168.1.100 -p 6379

如果需要密码认证:

bash 复制代码
redis-cli -h 192.168.1.100 -p 6379 -a mypassword

2. 基本操作命令

2.1. 键值操作

设置键值对

使用 SET 命令设置键值对:

bash 复制代码
SET mykey "Hello, Redis!"
获取键值

使用 GET 命令获取键值:

bash 复制代码
GET mykey
删除键

使用 DEL 命令删除键:

bash 复制代码
DEL mykey
检查键是否存在

使用 EXISTS 命令检查键是否存在:

bash 复制代码
EXISTS mykey

2.2. 其他数据类型操作

操作哈希(Hashes)
bash 复制代码
HSET myhash field1 "value1"
HGET myhash field1
HGETALL myhash
操作列表(Lists)
bash 复制代码
LPUSH mylist "item1"
LPUSH mylist "item2"
LRANGE mylist 0 -1
LPOP mylist
操作集合(Sets)
bash 复制代码
SADD myset "member1"
SADD myset "member2"
SMEMBERS myset
SREM myset "member1"
操作有序集合(Sorted Sets)
bash 复制代码
ZADD myzset 1 "member1"
ZADD myzset 2 "member2"
ZRANGE myzset 0 -1 WITHSCORES
ZREM myzset "member1"

3. 事务管理

使用 MULTIEXEC 命令管理事务:

bash 复制代码
MULTI
SET key1 "value1"
SET key2 "value2"
EXEC

4. 持久化操作

保存数据到磁盘
bash 复制代码
SAVE
异步保存数据到磁盘
bash 复制代码
BGSAVE

5. 服务器管理

查看服务器信息
bash 复制代码
INFO
查看客户端连接
bash 复制代码
CLIENT LIST
关闭服务器
bash 复制代码
SHUTDOWN

6. 管道(Pipelining)

使用管道可以一次性发送多个命令,减少网络开销:

bash 复制代码
redis-cli --pipe <<EOF
SET key1 value1
SET key2 value2
GET key1
GET key2
EOF

7. 批量操作

通过 catredis-cli 进行批量操作:

bash 复制代码
cat <<EOF | redis-cli
SET key1 value1
SET key2 value2
GET key1
GET key2
EOF

8. 使用脚本

Redis 支持 Lua 脚本,可以通过 EVAL 命令执行脚本:

bash 复制代码
EVAL "return redis.call('SET', KEYS[1], ARGV[1])" 1 mykey "Hello, Lua!"
GET mykey

示例操作

以下是一个实际的操作示例:

bash 复制代码
redis-cli

# 设置和获取键值
SET mykey "Hello, Redis!"
GET mykey

# 哈希操作
HSET myhash field1 "value1"
HGET myhash field1
HGETALL myhash

# 列表操作
LPUSH mylist "item1"
LPUSH mylist "item2"
LRANGE mylist 0 -1
LPOP mylist

# 集合操作
SADD myset "member1"
SADD myset "member2"
SMEMBERS myset
SREM myset "member1"

# 有序集合操作
ZADD myzset 1 "member1"
ZADD myzset 2 "member2"
ZRANGE myzset 0 -1 WITHSCORES
ZREM myzset "member1"

# 事务操作
MULTI
SET key1 "value1"
SET key2 "value2"
EXEC

# 持久化操作
SAVE

# 服务器管理
INFO

# 关闭服务器
SHUTDOWN

总结

通过 redis-cli 工具,你可以方便地执行各种 Redis 操作,包括键值操作、数据类型操作、事务管理、持久化操作和服务器管理等。上述代码示例涵盖了大多数常见的 Redis 命令,帮助你快速上手并应用于实际场景。

相关推荐
神奇的程序员18 小时前
从已损坏的备份中拯救数据
运维·后端·前端工程化
oden19 小时前
AI服务商切换太麻烦?一个AI Gateway搞定监控、缓存和故障转移(成本降40%)
后端·openai·api
李慕婉学姐20 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
m0_7400437320 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
招风的黑耳21 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
Miss_Chenzr21 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
期待のcode21 小时前
Springboot核心构建插件
java·spring boot·后端
2501_9216494921 小时前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融
serendipity_hky1 天前
【SpringCloud | 第5篇】Seata分布式事务
分布式·后端·spring·spring cloud·seata·openfeign
五阿哥永琪1 天前
Spring Boot 中自定义线程池的正确使用姿势:定义、注入与最佳实践
spring boot·后端·python