主题
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:nameHash
适合对象字段。
bash
HSET user:1 name Tom age 18
HGET user:1 name
HGETALL user:1
HINCRBY user:1 age 1
HDEL user:1 ageList
适合简单队列、消息缓冲。
bash
LPUSH queue:emails job1
RPUSH queue:emails job2
LPOP queue:emails
RPOP queue:emails
LRANGE queue:emails 0 -1
LLEN queue:emailsSet
适合去重集合、标签、共同好友。
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:tagsZSet
适合排行榜、按分数排序的数据。
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生产环境慎用 FLUSHDB 和 FLUSHALL。
