Python 操作redis
本篇博客详细介绍python操作redis,python的连接方式: 点击 下面介绍详细使用
string 操作
set(key, value, ex=None, px=None, nx=False, xx=False)
1 | r.set('name','lightfish') |
setex(key, time, value) psetex(key, time_ms, value)
1 | setex(key, time, value) # 设置过期时间 秒 |
记得要先设置时间,看源码就知道为什么了,这其实就是相当于自执行redis语句,只是封装了一下
mset({key1: value1, key2,value2}) 批量设置值
1 | r.mset({'name1':'lightfish', 'name2':'qgtiger'}) |
get(key) 获取值 maget(*key)批量获取
1 | r.get('name') |
getset(key, value) 设置新值,输入原值
1 | print(r.getset('name1','lightfisher')) #输出 lightfish |
getrange(key, start, end)
1 | r.set('name','lightfish') |
setrange(key, offset value) #从指定位置开始向后替换
1 | r.set('name', 'lightfish') |
setbit(key, offset, value)
1 | 对二进制表示位进行操作 |
getbit(key, offset)
1 | 获取key对应valueASCII码的二进制中的某位 |
strlen(key) 输出对应value的长度
1 | r.set('name', 'lightfish') |
incr(self, key, amount=1)
1 | #自增mount对应的值,当mount不存在时,则创建mount=amount,否则,则自增,amount为自增数(整数) |
incrbyfloat(self, key, amount=1.0)
1 | #类似 incr() 自增,amount为自增数(浮点数) |
decr(self, key, amount=1)
1 | #自减name对应的值,当name不存在时,则创建name=amount,否则,则自减,amount为自增数(整数) |
append(key, value)
1 | r.set("name","light") |
hash 操作
redis中的Hash 在内存中类似于一个name对应一个dic来存储
hset(name, key, value)
1 | #name对应的hash中设置一个键值对(不存在,则创建,否则,修改) |
hget(name,key)
1 | r.hset("dic_name","a1","aa") |
hgetall(name)
1 | #获取name对应hash的所有键值 |
hmset(name, mapping)
1 | #在name对应的hash中批量设置键值对,mapping:字典 |
hmget(name, keys, *args)
1 | # 在name对应的hash中获取多个key的值 |
hlen(name)、hkeys(name)、hvals(name)
1 | dic={"a1":"aa","b1":"bb"} |
hexists(name, key)
1 | #检查name对应的hash是否存在当前传入的key |
hdel(name,*keys)
1 | #删除指定name对应的key所在的键值对 |
hincrby(name, key, amount=1)
1 | #自增hash中key对应的值,不存在则创建key=amount(amount为整数) |
hincrbyfloat(name, key, amount=1.0)
1 | #自增hash中key对应的值,不存在则创建key=amount(amount为浮点数) |
list 操作
redis中的List在在内存中按照一个name对应一个List来存储
lpush(name,values)
1 | # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边 |
rpush(name,values)
1 | #同lpush,但每个新的元素都添加到列表的最右边 |
lpushx(name,value)
1 | #在name对应的list中添加元素,只有name已经存在时,值添加到列表的最左边 |
rpushx(name, value)
1 | #在name对应的list中添加元素,只有name已经存在时,值添加到列表的最右边 |
llen(name)
1 | # name对应的list元素的个数 |
linsert(name, where, refvalue, value))
1 | # 在name对应的列表的某一个值前或后插入一个新值 |
r.lset(name, index, value)
1 | #对list中的某一个索引位置重新赋值 |
r.lrem(name, value, num)
1 | #删除name对应的list中的指定值 |
lpop(name)
1 | #移除列表的左侧第一个元素,返回值则是第一个元素 |
lindex(name, index)
1 | #根据索引获取列表内元素 |
lrange(name, start, end)
1 | #分片获取元素 |
ltrim(name, start, end)
1 | #移除列表内没有在该索引之内的值 |
Just have fun