连接 Redis 服务器
- 本地连接(默认端口 6379)
redis-cli
- 远程连接
redis-cli -h [主机IP] -p [端口] -a [密码] # 示例:redis-cli -h 192.168.1.100 -p 6380 -a yourpassword
- 连接后认证
若未在命令中指定密码,连接后需使用:AUTH yourpassword
核心数据操作命令
字符串(String)
- 设置值:
SET key value
SET username "Alice"
- 获取值:
GET key
GET username # 返回 "Alice"
- 自增数字:
INCR key
SET counter 10 INCR counter # 结果变为 11
哈希(Hash)
- 设置字段:
HSET key field value
HSET user:1000 name "Bob" age 30
- 获取字段:
HGET key field
HGET user:1000 name # 返回 "Bob"
- 获取所有字段:
HGETALL key
HGETALL user:1000
列表(List)
- 左端插入:
LPUSH key value
LPUSH tasks "task1"
- 右端插入:
RPUSH key value
RPUSH tasks "task2"
- 范围查询:
LRANGE key start end
LRANGE tasks 0 -1 # 返回所有元素
集合(Set)
- 添加元素:
SADD key member
SADD tags "redis" "database"
- 查询成员:
SMEMBERS key
SMEMBERS tags
- 交集操作:
SINTER key1 key2
SINTER tags1 tags2
有序集合(Sorted Set)
- 添加带分数成员:
ZADD key score member
ZADD leaderboard 100 "Alice" 90 "Bob"
- 按分数范围查询:
ZRANGE key start end WITHSCORES
ZRANGE leaderboard 0 -1 WITHSCORES # 升序列出所有成员及分数
服务器管理命令
- 查看服务器信息
INFO # 返回CPU、内存、持久化等详细数据 INFO memory # 仅查看内存信息
- 键管理
- 查询所有键:
KEYS *
(生产环境慎用,推荐SCAN
分页) - 删除键:
DEL key
- 设置过期时间:
EXPIRE key seconds
- 查询所有键:
- 持久化操作
- 手动保存:
SAVE
(阻塞式) - 后台保存:
BGSAVE
(非阻塞)
- 手动保存:
- 性能监控
MONITOR # 实时打印所有操作(调试用) SLOWLOG GET # 查看慢查询日志
高级功能
- 事务(Transaction)
MULTI # 开启事务 SET a 100 SET b 200 EXEC # 提交执行
- 发布订阅(Pub/Sub)
- 订阅频道:
SUBSCRIBE news
- 发布消息:
PUBLISH news "Hello Redis!"
- 订阅频道:
- Lua脚本
EVAL "return redis.call('GET', KEYS[1])" 1 mykey
安全最佳实践
- 禁用高危命令
在redis.conf
中配置:rename-command FLUSHALL "" # 禁止清空数据库 rename-command CONFIG "SECURE_CONFIG" # 重命名配置命令
- 启用密码保护
requirepass your_strong_password
- 绑定访问IP
bind 127.0.0.1 # 仅允许本地访问
调试与退出
- 测试连接:
PING
(返回PONG
表示正常) - 切换数据库:
SELECT index
(默认 16 个数据库,索引 0-15) - 退出命令行:
QUIT
引用说明: 基于 Redis 官方文档(redis.io/commands)和最佳实践整理,确保技术准确性,实际操作前请备份数据,生产环境建议通过
redis-cli --help
查阅详细参数。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6824.html