Redis学习 –基本命令篇_redis 命令

【值得收藏】Redis学习笔记:基本命令篇,一文掌握Redis核心命令!

Redis(Remote Dictionary Server)是一个开源、高性能的键值存储数据库,以内存存储为主,支持持久化,被广泛用于缓存、消息队列、会话管理等场景。作为2025年最受欢迎的NoSQL数据库之一,Redis支持多种数据结构(如String、Hash、List、Set、Sorted Set),命令丰富且高效。本篇聚焦基本命令,从入门到实战,帮助你快速上手Redis CLI操作。

1. Redis简介与安装启动

Redis 是键值对(Key-Value)数据库,所有数据以Key为唯一标识。Key为字符串,Value支持多种类型。

  • 安装:Linux/Mac:brew install redisapt install redis;Windows:官方不再支持,可用WSL或Docker。
  • 启动redis-server(默认端口6379)。
  • 连接CLIredis-cli(进入交互模式),或 redis-cli -h host -p port -a password

测试连接:

PING

返回:PONG

Redis数据结构概览:

2. 通用键(Keys)命令

Keys是所有数据的入口,先掌握键操作。

命令语法示例描述返回示例
KEYS patternKEYS *查找匹配模式的键(慎用生产环境,O(N))列出所有键
EXISTS keyEXISTS mykey检查键是否存在1(存在)/0
DEL keyDEL mykey删除键(可多个)删除数量
EXPIRE key secondsEXPIRE mykey 60设置过期时间(秒)1(成功)
TTL keyTTL mykey查看剩余生存时间(秒,-1永不过期)剩余秒数
PERSIST keyPERSIST mykey移除过期1(成功)
TYPE keyTYPE mykey返回键类型(string/list等)string
RENAME key newkeyRENAME old new重命名键OK

示例CLI演示:

注意:生产环境避免KEYS *,用SCAN渐进扫描。

3. String(字符串)命令:最常用类型

String是Redis最基础类型,支持字符串、整数、浮点数、二进制。

命令语法示例描述返回示例
SET key valueSET name “Grok”设置值(覆盖)OK
GET keyGET name获取值“Grok”
GETSET key valueGETSET name “New”设置新值并返回旧值旧值
INCR keyINCR count整数自增1新值
INCRBY key nINCRBY count 10自增n新值
DECR/DECRBY同上自减新值
APPEND key valueAPPEND name ” AI”追加字符串新长度
STRLEN keySTRLEN name获取长度长度
MSET/MGETMSET k1 v1 k2 v2批量设置/获取OK / 值列表

String常用于缓存计数器、会话ID等。

4. Hash(哈希)命令:适合存储对象

Hash像Map,适合存储结构体(如用户信息)。

命令语法示例描述
HSET key field valueHSET user:1 name “Grok”设置字段值
HGET key fieldHGET user:1 name获取字段值
HMSET/HMGETHMSET user:1 age 18 score 100批量设置/获取
HGETALL keyHGETALL user:1获取所有字段值对
HDEL key fieldHDEL user:1 score删除字段
HEXISTS key fieldHEXISTS user:1 name检查字段存在
HINCRBY key field nHINCRBY user:1 age 1字段整数自增
HLEN keyHLEN user:1字段数量

Hash命令示例:

5. List(列表)命令:有序可重复

List像双向链表,支持队列/栈操作。

命令语法示例描述
LPUSH key valueLPUSH list “a” “b”左推入(头插)
RPUSH key valueRPUSH list “c”右推入(尾插)
LPOP/RPOPLPOP list左/右弹出
LRANGE key start endLRANGE list 0 -1获取范围元素(0 -1全表)
LLEN keyLLEN list长度
LINDEX key indexLINDEX list 0获取索引元素
LTRIM key start endLTRIM list 0 4裁剪列表

常用于消息队列(LPUSH + RPOP)或最新列表。

6. Set(集合)命令:无序不重复

Set像HashSet,支持交并差运算。

命令语法示例描述
SADD key memberSADD myset “a” “b”添加成员
SMEMBERS keySMEMBERS myset获取所有成员
SREM key memberSREM myset “a”删除成员
SCARD keySCARD myset成员数量
SISMEMBER key memberSISMEMBER myset “a”检查存在
SINTER/SUNION/SDIFFSINTER set1 set2交/并/差集

常用于标签、去重。

7. Sorted Set(有序集合)命令:带分数排序

ZSet成员唯一,按Score排序。

命令语法示例描述
ZADD key score memberZADD rank 100 “Grok”添加(可更新score)
ZRANGE key start end [WITHSCORES]ZRANGE rank 0 -1 WITHSCORES获取范围(正序)
ZREVRANGE同上反序倒序
ZSCORE key memberZSCORE rank “Grok”获取分数
ZINCRBY key n memberZINCRBY rank 10 “Grok”分数增n
ZREM key memberZREM rank “Grok”删除

常用于排行榜。

8. 其他常用命令

  • 数据库操作:SELECT 0(切换DB,默认16个DB);FLUSHDB(清当前DB);FLUSHALL(清所有)。
  • 信息:INFO(服务器信息);DBSIZE(键数量)。
  • 持久化:SAVE/BGSAVE(手动保存RDB);CONFIG GET dir(配置)。

数据类型命令概览:

9. 实战建议与注意事项

  • 过期:SET key value EX 60(秒)/PX 60000(毫秒)。
  • 性能:单命令O(1)为主,批量用M*/PIPELINE。
  • 生产:用SCAN代替KEYS,避免阻塞。
  • 学习资源:官方文档 redis.io/commands,Redis University。

掌握这些基本命令,你已能处理90%场景!下一节可深入Pub/Sub、事务、Lua脚本等。

有具体命令疑问或想看高级篇?欢迎继续提问!

文章已创建 3254

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部