当前位置:首页 > 问答 > 正文

Redis登录|命令行操作 Redis服务器登录详解,服务端连接与常用命令解析

Redis登录与命令行操作全指南:从连接到核心命令解析

场景引入:当数据库需要闪电响应

凌晨2点,电商平台的秒杀活动突然出现页面加载缓慢的问题,运维工程师小李迅速打开终端,通过几行Redis命令快速定位到是热门商品库存缓存出现了异常,这种关键时刻,熟练的Redis命令行操作就像一把瑞士军刀,能快速解决问题,本文将带你全面掌握Redis服务器的登录连接和核心命令操作,让你也能拥有这样的"超能力"。

Redis服务端连接基础

本地连接Redis服务器

当Redis服务安装在本机时,连接非常简单:

redis-cli

这个命令会默认尝试连接127.0.0.1的6379端口(Redis默认配置),看到0.0.1:6379>提示符,说明已经成功连接。

远程连接Redis服务器

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

redis-cli -h your_redis_host -p 6379

如果服务器设置了密码保护,连接时需要认证:

redis-cli -h your_redis_host -p 6379 -a yourpassword

注意:直接在命令行显示密码不安全,生产环境建议先连接再认证

安全连接方式

更安全的做法是先连接,再通过AUTH命令认证:

Redis登录|命令行操作 Redis服务器登录详解,服务端连接与常用命令解析

redis-cli -h your_redis_host -p 6379
127.0.0.1:6379> AUTH yourpassword
OK

Redis命令行操作精要

基础信息查询

连接后,首先可以检查服务器状态:

0.0.1:6379> PING
PONG

这个简单命令可以测试连接是否正常。

查看服务器信息:

0.0.1:6379> INFO

这会返回大量服务器信息,可以配合特定参数获取特定部分:

0.0.1:6379> INFO memory  # 查看内存信息
127.0.0.1:6379> INFO clients # 查看客户端连接信息

键(Key)操作命令

Redis是键值存储,键操作是基础:

# 设置键值
127.0.0.1:6379> SET username "张三"
OK
# 获取键值
127.0.0.1:6379> GET username
"张三"
# 检查键是否存在
127.0.0.1:6379> EXISTS username
(integer) 1
# 设置过期时间(秒)
127.0.0.1:6379> EXPIRE username 3600
(integer) 1
# 查看剩余生存时间
127.0.0.1:6379> TTL username
(integer) 3598
# 删除键
127.0.0.1:6379> DEL username
(integer) 1

五种数据类型的操作

(1) 字符串(String)
# 设置多个键值
127.0.0.1:6379> MSET age 30 city "北京"
OK
# 获取多个键值
127.0.0.1:6379> MGET age city
1) "30"
2) "北京"
# 数值增减
127.0.0.1:6379> INCR age
(integer) 31
127.0.0.1:6379> DECR age
(integer) 30
(2) 哈希(Hash)

适合存储对象:

# 设置哈希字段
127.0.0.1:6379> HSET user:1000 name "李四" age 28
(integer) 2
# 获取所有字段
127.0.0.1:6379> HGETALL user:1000
1) "name"
2) "李四"
3) "age"
4) "28"
# 获取单个字段
127.0.0.1:6379> HGET user:1000 name
"李四"
(3) 列表(List)
# 从左侧插入
127.0.0.1:6379> LPUSH tasks "写报告"
(integer) 1
127.0.0.1:6379> LPUSH tasks "开会"
(integer) 2
# 从右侧插入
127.0.0.1:6379> RPUSH tasks "发邮件"
(integer) 3
# 获取列表范围
127.0.0.1:6379> LRANGE tasks 0 -1
1) "开会"
2) "写报告"
3) "发邮件"
(4) 集合(Set)

无序唯一元素集合:

Redis登录|命令行操作 Redis服务器登录详解,服务端连接与常用命令解析

# 添加元素
127.0.0.1:6379> SADD tags "Redis" "数据库" "缓存"
(integer) 3
# 查看所有元素
127.0.0.1:6379> SMEMBERS tags
1) "数据库"
2) "缓存"
3) "Redis"
# 检查成员
127.0.0.1:6379> SISMEMBER tags "Redis"
(integer) 1
(5) 有序集合(Sorted Set)

带分数的有序集合:

# 添加带分数成员
127.0.0.1:6379> ZADD leaderboard 100 "玩家A" 200 "玩家B"
(integer) 2
# 按分数范围查询
127.0.0.1:6379> ZRANGEBYSCORE leaderboard 150 300
1) "玩家B"

实用高级命令

# 搜索键(使用通配符)
127.0.0.1:6379> KEYS user:*
1) "user:1000"
# 清空当前数据库
127.0.0.1:6379> FLUSHDB
OK
# 清空所有数据库
127.0.0.1:6379> FLUSHALL
OK
# 选择数据库(默认16个,编号0-15)
127.0.0.1:6379> SELECT 1
OK

Redis命令行实用技巧

批量操作

使用管道(pipeline)提高批量操作效率:

echo -e "SET key1 value1\nSET key2 value2\nGET key1" | redis-cli --pipe

执行Lua脚本

0.0.1:6379> EVAL "return redis.call('GET', KEYS[1])" 1 username
"张三"

性能监控

# 监控实时命令
127.0.0.1:6379> MONITOR
# 查看慢查询
127.0.0.1:6379> SLOWLOG GET 10

安全退出与连接管理

完成操作后,可以优雅退出:

0.0.1:6379> QUIT

或者直接关闭连接:

0.0.1:6379> SHUTDOWN

注意:SHUTDOWN会关闭Redis服务器,生产环境慎用

常见问题排查

  1. 连接被拒绝:检查Redis服务是否启动,防火墙设置
  2. 认证失败:确认密码是否正确,检查redis.conf中的requirepass配置
  3. 命令不存在:可能是命令拼写错误,或该版本Redis不支持
  4. 内存不足:检查INFO memory输出,考虑增加内存或优化数据

Redis命令行工具redis-cli是与Redis服务器交互的利器,从简单的键值存储到复杂的数据结构操作,掌握这些命令能让你在数据处理时事半功倍,建议先在测试环境练习这些命令,熟练后再应用到生产环境,能力越大责任越大,操作生产数据前务必做好备份。

发表评论