Redis:命令行基础语法与实战

张开发
2026/4/20 14:18:47 15 分钟阅读
Redis:命令行基础语法与实战
目录一、连接Redis服务器二、核心数据类型操作三、键管理命令四、事务/脚本五、服务器管理与监控六、高级功能七、实践与注意事项一、连接Redis服务器在开始操作Redis之前首先需要建立与服务器的连接。Redis官方提供了redis-cli命令行工具这是与Redis交互最直接的方式。基础连接命令ps-ef|grepredis redis-cli-hhost-pport-apassword参数详解ps -ef | grep redis查看Redis服务器开启情况-h指定Redis服务器的主机名或IP地址。-p指定Redis服务器的端口号默认为6379。-a指定连接密码如果服务器设置了requirepass。常用连接示例连接本地默认Redis服务redis-cli连接远程服务器redis-cli-h192.168.1.100-p6379-amypassword连接并指定数据库redis-cli-n1# 连接到数据库1连接验证连接成功后可以使用PING命令测试连接状态127.0.0.1:6379PING PONG二、核心数据类型操作Redis支持五种核心数据结构每种结构都有其特定的操作命令。可以使用help [operation]进行查找1.字符串String操作字符串是Redis最基本的数据类型可以存储文本、数字或二进制数据。常用命令# 设置键值对SET usernamezhangsan# 获取值GET username# 设置带过期时间的值秒SET session_tokenabc123EX3600# 这里代表abc123只存在一个小时,涉及到TTL时间;# 默认set后TTL-1,代表永久存在;TTL随时间减少,减少为0时修改为TTL-2,代表销毁# 可用TTL [key_name]查看剩余时间# 原子递增SET counter0INCR counter# 返回1INCR counter# 返回2# 批量操作MSET key1value1key2value2MGET key1 key22.哈希Hash操作哈希适合存储对象将多个字段-值对存储在一个键下。常用命令# 设置哈希字段HSET user:1001 nameAliceage30# 获取单个字段HGET user:1001 name# 获取所有字段HGETALL user:1001# 字段递增HINCRBY user:1001 age1# 检查字段是否存在HEXISTS user:1001 name3.列表List操作列表是有序的字符串集合支持从两端进行插入和弹出操作。常用命令# 左侧插入LPUSH mylistvalue1value2# 右侧插入RPUSH mylistvalue3# 获取列表范围LRANGE mylist0-1# 获取所有元素# 左侧弹出LPOP mylist# 右侧弹出RPOP mylist# 获取列表长度LLEN mylist4.集合Set操作集合是无序且不重复的字符串集合。常用命令# 添加元素SADD mysetmember1member2# 获取所有元素SMEMBERS myset# 检查元素是否存在SISMEMBER mysetmember1# 集合运算SADD set1abSADD set2bcSINTER set1 set2# 交集: bSUNION set1 set2# 并集: a, b, c5.有序集合ZSet操作有序集合为每个成员关联一个分数按分数排序。常用命令# 添加成员及分数ZADD leaderboard100player1200player2# 获取排名范围ZRANGE leaderboard0-1WITHSCORES# 按分数范围查询ZRANGEBYSCORE leaderboard50150# 增加分数ZINCRBY leaderboard50player1# 获取成员排名ZREVRANK leaderboardplayer1三、键管理命令键管理是Redis操作的基础涉及键的查询、删除、过期等操作。常用键管理命令# 检查键是否存在EXISTS username# 删除键DEL username# 获取键类型TYPE username# 设置过期时间秒EXPIRE session_token3600# 获取剩余生存时间TTL session_token# 移除过期时间PERSIST session_token# 重命名键RENAME oldkey newkey# 扫描键非阻塞SCAN0MATCH user:* COUNT10# 查看当前数据库键数量DBSIZE# 查看所有键生产环境慎用KEYS *四、事务/脚本Redis支持事务和Lua脚本用于实现原子性操作。事务操作# 开启事务MULTI# 命令入队SET key1value1SET key2value2# 执行事务EXEC# 取消事务DISCARD# 监视键乐观锁WATCH key1 MULTI SET key1new_valueEXECLua脚本# 直接执行脚本EVALreturn redis.call(GET, KEYS[1])1mykey# 从文件执行redis-cli--evalscript.lua mykey , arg1# 加载脚本并返回SHASCRIPT LOADreturn 1# 通过SHA执行EVALSHAsha11mykey五、服务器管理与监控Redis提供了丰富的命令用于服务器管理和性能监控。服务器信息# 查看服务器状态INFO# 查看特定部分信息INFO memory INFO clients# 获取配置参数CONFIG GET maxmemory CONFIG GET databases# 查看客户端连接CLIENT LIST# 杀死指定客户端CLIENT KILL127.0.0.1:12345性能监控# 实时监控命令MONITOR# 查看慢查询日志SLOWLOG GET10# 统计信息redis-cli--stat# 延迟测试redis-cli--latency-h127.0.0.1# 查找大键redis-cli--bigkeys持久化操作# 同步保存RDBSAVE# 异步保存RDBBGSAVE# 重写AOFBGREWRITEAOF# 查看最后保存时间LASTSAVE六、高级功能管道Pipeline管道可以减少网络往返时间提高批量操作效率。# 使用管道批量导入catdata.txt|redis-cli--pipe发布订阅# 订阅频道SUBSCRIBE channel1# 发布消息PUBLISH channel1Hello World集群管理# 查看集群信息CLUSTER INFO CLUSTER NODES# 进入集群模式redis-cli-c-h127.0.0.1-p7000七、实践与注意事项键命名规范使用冒号分隔的命名空间user:1001:profile避免特殊字符使用小写字母和下划线控制键长度建议不超过44字节性能优化建议避免使用KEYS *命令改用SCAN谨慎使用MONITOR生产环境会影响性能合理设置过期时间避免内存泄漏使用批量操作代替多次单独操作安全配置启用密码认证requirepass yourpassword限制网络访问bind 127.0.0.1禁用危险命令rename-command FLUSHALL

更多文章