学科分类
目录

redis常用对象

redis模块中共提供了StrictRedis和Redis类来实现Redis命令,其中,StrictRedis类中实现了大多数官方Redis命令;Redis是StrictRedis的子类,用于兼容旧版本的redis-py。官方推荐使用StrictRedis对象进行开发。

StrictRedis对象用于建立与Redis数据库的连接,它可以通过如下构造方法进行创建:

StrictRedis(host='localhost', port=6379, db=0, password=None, 
socket_timeout=None, socket_connect_timeout=None, 
socket_keepalive=None, socket_keepalive_options=None,
connection_pool=None, unix_socket_path=None, encoding='utf-8',...)

以上方法中常用参数的含义如下:

  • host,表示待连接的Redis数据库所在主机的IP地址,默认设为localhost。

  • port,表示Redis数据库程序的端口,默认为6379。

  • db,表示数据库索引,默认为0,数据库的名称为db0。

  • encoding,表示采用的编码格式,默认使用的是utf-8。

Redis数据库中的数据都是键值对,其中键为字符串类型,不能重复;值可以为字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(zset)这五种类型,针对每种类型官方均提供了相应的命令。

StrictRedis对象中提供了与Redis数据库操作命令同名的方法,这些方法的说明如下所示。

  • 字符串类型的方法
方法 说明
set(name, value) 设置指定键name的值为value。若键不存在,新建一个键值对;若键存在,则修改其对应的值。若该方法返回True,则表示创建或修改成功,否则表示创建或修改失败
setex(name, time, value) 设置指定键name对应的值为value,并将键的过期时间设为time
mset(mapping) 根据同时设置多个键值对
append(key, value) 如果key存在,那么将value追加到原有值的末尾;如果key不存在,那么创建一个键值对
get(name) 获取给定键所对应的值。若获取失败,则返回None
mget(keys, *args) 获取与键顺序相同的值列表
  • 哈希类型的方法
方法 说明
hset(name, key, value) 将哈希表name中键key的值设为value。若创建了一个新键值对,则返回1,否则返回0
hmset(name, mapping) 同时将多个键值对添加到哈希表name中
hkeys(name) 获取哈希表name中所有的键
hget(name, key) 获取存储在哈希表name中指定键的值
hmget(name, keys, *args) 获取哈希表name中所有给定键keys对应的值
hvals(name) 获取哈希表name中所有的值
hdel(name, *keys) 删除一个或多个哈希表中的键
  • 列表类型的方法
方法 说明
lpush(name, *values) 将一个或多个值插入到列表头
rpush(name, *values) 向列表中添加一个或多个值
linsert(name, where, refvalue, value) 在列表元素之前或者之后插入值
lrange(name, start, end) 获取列表指定范围内的值
lset(name, index, value) 通过索引设置列表元素的值
lrem(self, name, count, value) 移除列表元素
  • 集合类型的方法
方法 说明
sadd(name, *values) 向集合添加一个或多个元素
smembers(name) 返回集合中的所有成员
srem(name, *values) 移除集合中一个或多个成员
  • 有序集合类型的方法
方法 说明
zadd(name, mapping, nx=False, xx=False, ch=False, incr=False) 向有序集合添加一个或多个成员,或者更新已存在成员的分数
zrange(name, start, end, desc=False, withscores=False, score_cast_func=float) 通过索引区间返回有序集合指定区间内的成员
zrangebyscore(name, min, max, start=None, num=None, withscores=False, score_cast_func=float) 通过分数返回有序集合指定区间内的成员
zscore(name, value) 返回有序集合成员的分数值
zrem(name, *values) 移除有序集合中的一个或多个成员
zremrangebyscore(name, min, max) 移除有序集合中给定的分数区间的所有成员
点击此处
隐藏目录