Redis作为高性能的内存数据库,其命令体系是使用和优化的核心,Redis命令通常以“命令名 参数 参数…”的格式执行,参数数量根据命令功能而定,例如SET命令需要键和值两个参数,而GET命令只需键一个参数,命令执行后,Redis会返回响应结果,成功时返回OK、特定值或数字,失败时返回错误信息(如以“-”开头的字符串)。

Redis命令按功能可分为多个类别,键值操作是基础,如SET key value(设置键值)、GET key(获取值)、DEL key(删除键)、EXISTS key(检查键是否存在)、TYPE key(返回值类型)等,EXPIRE key seconds可以为键设置过期时间,TTL key则返回键的剩余生存时间(秒),执行SET mykey "hello" EX 10
设置键mykey
及其值和10秒过期,10秒后GET该键将返回nil。
字符串操作方面,除了SET/GET,还有INCR key(值递增1,值需为整数)、DECR key(递减1)、INCRBY key increment(按指定值递增)等。INCR mycount
若mycount
不存在,会初始化为0后递增,结果为1;若存在且为整数,则直接递增。
哈希表操作用于存储键值对集合,常用命令包括HSET key field value(设置哈希表字段值)、HGET key field(获取字段值)、HGETALL key(获取所有字段和值)、HDEL key field(删除字段)、HEXISTS key field(检查字段是否存在)。HSET user:1 name "Alice" age 25
会为哈希表user:1
设置两个字段,HGET user:1 name
返回"Alice"。
列表操作支持在两端添加或移除元素,LPUSH key value1 value2…在左侧(头部)插入元素,RPUSH在右侧(尾部)插入,LPOP移除并返回左侧元素,RPOP移除并返回右侧元素,LRANGE key start stop获取列表片段(如LRANGE mylist 0 -1
返回整个列表)。

集合操作是无序不重复元素集合,SADD key member1 member2…添加成员,SMEMBERS key获取所有成员,SREM key member删除成员,SINTER key1 key2求交集,SUNION key1 key2求并集。SADD myset "a" "b"
添加成员后,SMEMBERS myset
返回"a"、"b"。
有序集合在集合基础上增加分数,ZADD key score1 member1 score2 member2…添加成员并指定分数,ZRANGE key start stop [WITHSCORES]按分数升序获取成员(加WITHSCORES显示分数),ZREVRANGE key start stop [WITHSCORES]降序获取,ZSCORE key member获取成员分数。ZADD zset 1 "one" 2 "two"
添加成员后,ZRANGE zset 0 -1 WITHSCORES
返回"one" 1、"two" 2。
还有事务命令(MULTI/EXEC/DISCARD)、发布订阅(PUB/SUB)、持久化(SAVE/BGSAVE)等,事务通过MULTI开始,之后命令入队,EXEC执行或DISCARD放弃,确保命令原子性。
以下为常用命令示例总结:

命令类别 | 命令示例 | 功能说明 |
---|---|---|
键值操作 | SET key value | 设置键值 |
GET key | 获取键值 | |
字符串操作 | INCR key | 键值递增1(需为整数) |
哈希表操作 | HSET key field value | 设置哈希表字段值 |
列表操作 | LPUSH key value | 列表头部插入元素 |
集合操作 | SADD key member | 向集合添加成员(不重复) |
有序集合 | ZADD key score member | 添加有序集合成员及分数 |
相关问答FAQs:
Q1: Redis中如何批量设置多个键值对?
A1: 可使用MSET命令,格式为MSET key1 value1 key2 value2…
,例如MSET name "Alice" age 25 city "Beijing"
会同时设置三个键值对,相比多次执行SET,MSET减少网络开销,效率更高。
Q2: 如何查看Redis中所有符合条件的键?
A2: 使用KEYS命令,格式为KEYS pattern
,其中pattern支持通配符,如KEYS user:*
匹配所有以"user:"开头的键,但需注意,KEYS命令会阻塞Redis服务器,在生产环境中慎用,推荐使用SCAN命令(非阻塞式迭代键)。