跳转至

常用方法

常用方法详解

String(字符串)- 最基本类型

方法 说明 示例
SET key value 设置键值对 r.set('name', 'Alice')
GET key 获取值 r.get('name')'Alice'
MSET key1 val1 key2 val2 批量设置 r.mset({'a': 1, 'b': 2})
MGET key1 key2 批量获取 r.mget(['a', 'b'])[1, 2]
INCR key 值加 1(原子操作) r.incr('counter')
DECR key 值减 1 r.decr('counter')
INCRBY key amount 增加指定值 r.incrby('score', 10)
EXPIRE key seconds 设置过期时间 r.expire('token', 3600)
TTL key 查看剩余过期时间 r.ttl('token')

Hash(哈希)- 适合存储对象

方法 说明 示例
HSET key field value 设置字段值 r.hset('user:1', 'name', 'Bob')
HGET key field 获取字段值 r.hget('user:1', 'name')
HMSET key dict 批量设置字段 r.hmset('user:1', {'name': 'Bob', 'age': 25})
HGETALL key 获取所有字段 r.hgetall('user:1'){b'name': b'Bob', ...}
HDEL key field 删除字段 r.hdel('user:1', 'age')
HEXISTS key field 判断字段是否存在 r.hexists('user:1', 'name')True
HINCRBY key field amount 字段值增加 r.hincrby('user:1', 'score', 5)

List(列表)- 有序可重复

方法 说明 示例
LPUSH key value 从左侧插入 r.lpush('tasks', 'task1')
RPUSH key value 从右侧插入 r.rpush('tasks', 'task2')
LPOP key 从左侧弹出 r.lpop('tasks')
RPOP key 从右侧弹出 r.rpop('tasks')
LRANGE key start end 获取范围元素 r.lrange('tasks', 0, -1)
LLEN key 列表长度 r.llen('tasks')
LINDEX key index 获取指定索引元素 r.lindex('tasks', 0)

Set(集合)- 无序不重复

方法 说明 示例
SADD key member 添加成员 r.sadd('processed_ids', 'msg123')
SISMEMBER key member 检查成员是否存在 r.sismember('processed_ids', 'msg123')True
SCARD key 集合大小 r.scard('processed_ids')42
SMEMBERS key 获取所有成员 r.smembers('processed_ids')
SREM key member 删除成员 r.srem('processed_ids', 'msg123')
SINTER key1 key2 交集 r.sinter('set1', 'set2')
SUNION key1 key2 并集 r.sunion('set1', 'set2')
SDIFF key1 key2 差集 r.sdiff('set1', 'set2')
SRANDMEMBER key count 随机获取成员 r.srandmember('set1', 3)

Sorted Set(有序集合)- 带分数的集合

方法 说明 示例
ZADD key score member 添加成员及分数 r.zadd('leaderboard', {'Alice': 100})
ZRANGE key start end 按分数升序获取 r.zrange('leaderboard', 0, -1)
ZREVRANGE key start end 按分数降序获取 r.zrevrange('leaderboard', 0, 9)
ZRANK key member 获取排名(升序) r.zrank('leaderboard', 'Alice')
ZSCORE key member 获取分数 r.zscore('leaderboard', 'Alice')100.0
ZCARD key 集合大小 r.zcard('leaderboard')
ZINCRBY key amount member 增加分数 r.zincrby('leaderboard', 10, 'Alice')

通用操作

方法 说明 示例
EXISTS key 键是否存在 r.exists('name')True
DEL key 删除键 r.delete('name')
KEYS pattern 匹配键名 r.keys('user:*')
TYPE key 获取键类型 r.type('mykey')'set'
RENAME key newkey 重命名 r.rename('old', 'new')
RANDOMKEY 随机返回一个键 r.randomkey()

事务与管道

方法 说明 示例
PIPELINE() 创建管道(批量执行) pipe = r.pipeline()
MULTI/EXEC 事务 pipe.multi().set('a', 1).set('b', 2).execute()
WATCH key 乐观锁 r.watch('counter')