Skip to content

Redis 数据类型和命令

Key

bash
EXISTS user:1
TYPE user:1
DEL user:1
EXPIRE user:1 3600
TTL user:1
PERSIST user:1

遍历 Key:

bash
SCAN 0 MATCH user:* COUNT 100

线上避免使用 KEYS *

String

适合缓存值、计数器、分布式锁标记。

bash
SET user:1:name Tom
GET user:1:name
SETEX verify:code:1 300 123456
SET lock:order:1 1 NX EX 10
INCR page:view:home
MGET user:1:name user:2:name

Hash

适合对象字段。

bash
HSET user:1 name Tom age 18
HGET user:1 name
HGETALL user:1
HINCRBY user:1 age 1
HDEL user:1 age

List

适合简单队列、消息缓冲。

bash
LPUSH queue:emails job1
RPUSH queue:emails job2
LPOP queue:emails
RPOP queue:emails
LRANGE queue:emails 0 -1
LLEN queue:emails

Set

适合去重集合、标签、共同好友。

bash
SADD user:1:tags vue mysql redis
SMEMBERS user:1:tags
SISMEMBER user:1:tags redis
SREM user:1:tags mysql
SINTER user:1:tags user:2:tags
SUNION user:1:tags user:2:tags

ZSet

适合排行榜、按分数排序的数据。

bash
ZADD rank:score 100 Tom 90 Alice
ZRANGE rank:score 0 -1 WITHSCORES
ZREVRANGE rank:score 0 9 WITHSCORES
ZINCRBY rank:score 10 Tom
ZRANK rank:score Tom
ZREM rank:score Alice

数据库

Redis 默认有多个逻辑库,编号从 0 开始。

bash
SELECT 0
DBSIZE
FLUSHDB
FLUSHALL

生产环境慎用 FLUSHDBFLUSHALL

基于 MIT 许可发布