python操作redis_python操作redis总结

redis为非关系型数据库,数据库内默认端口为6379,可以用db=来选择db,里面的数据有四种存储格式,字符串(string),列表(list),集合(set),有序集合(zset),散列(hash)

1连接reids

from redis import StrictRedis

redis = StrictRedis(host='localhost',port=6379,db=1)

2键操作

exit(name) 判断一个键是否存在

delete(name) 删除一个键

type(name) 判断一个键的类型

keys(pattern) 获取所有符合规则的键 pattern:匹配规则

randomkey() 获取随机的一个键

rename(src,dst) 重命名键

dbsize() 获取当前数据库中键的数目

expire(name,time) 设置键的过期时间 单位为秒

ttl(name) 获取键的过期时间,-1为永不过期

move(name,db) 将键移动到其他数据库中

flushdb() 删除当前选择的数据库中的所有键

flushall() 删除所有数据库中的所有键

3 字符串操作

set(name,value) 给数据库中键为name的string赋值为value

get(name) 返回数据库中键为name的string的value

getset(name,value)

给数据库中的键为name的string赋值为value并返回上次的value

mget(keys,*args) 返回多个键对应的value redis.mget(['a','b'])

setnx(name,value) 如果不存在这个键值对,则更新value,否则不变

setex(name,time,value) 设置键为name,值为value,有效期为time

setrange(name,offset,value)

设置键为name的键的字符串偏移offset后为value

mset(mapping) 批量赋值

msetnx(mapping) 键不存在时批量赋值

incr/decr(name,amount=1)

将键为name的值增/减值,默认为1,键不存在的时候创建并设置为amount

append(name,value) 在键为name的键后面添加一个value字符串

substr/getrange(name,start,end)

4列表操作

rpush/lpush(name,*values) 在键为name的列表末尾/头添加value

value可以传多个

llen(name) 返回键为name的列表的长度

lrange(name,start,end,) 返回键为name的列表start,end之间的元素

ltrim(name,start,end) 截取键为name的列表保留start,end之间的元素

lindex(name,index) 返回键为name的列表中index位置的元素

lset(name,index,value) 赋值键为name的列表中index位置的元素为value

lrem(name,count,value) 删除count个键为name的列表中的值为value的元素

lpop/rpop(name) 返回并删除键为name的列表中的首/尾个元素

blpop/brpop(keys,timeout=0)

返回并删除名称在keys中的list中的首/末尾个元素time为超时时间,如设置为0为一直等待

rpoplpush(src,dst)返回并删除名为src的列表的尾元素,并将该元素添加到名为dst的列表头部

5集合操作(集合中的元素不重复)

sadd(name,*values) 向键为name的集合中添加元素 values可以为多个

srem(name,*values) 从键为name的集合中删除元素 values可以为多个

spop(name) 随机返回并删除键为name的集合中的一个元素

smove(src,dst,value) 从scr中将value移动到dst中

scard(name) 返回键为name的集合中元素的个数

sismember(name,value)测试member是否是键为name的集合的元素

sinter(keys,*args) 返回所有给定键的集合的交集

sintrestore(dest,keys,*args) 求交集并将结果保存到dest的集合

sunion(keys,*args) 返回所有给定键的集合的并集

sunionstore(dest,keys,*args) 求并集并将结果保存到dest的集合

sdiff(keys,*args) 返回所有给定键的集合的差集

sdiffstore(dest,keys,*args) 求差集并将结果保存到dest的集合

smembers(name) 返回键为name的集合的所有元素

srandmember(name) 随机返回键为name的集合的一个元素

8有序集合(比集合多了一个分数字段,用于对集合中的元素进行排序)

zadd(name,*args,**kwargs)

向键为name的zset中添加元素member,score用于排序,如果该元素存在,更新分数

zrem(name,*values) 删除键为name的zset中的元素

zincrby(name,value,amount=1)

如果键为name的zset中已经存在元素value则增加amount,否则添加该元素,其score为amount

zrank(name,value) 返回键为name中的元素为value的score排名(从小到大)

zrevank(name,value) 返回键为name中的元素为value的score排名(从大到小)

zrevrange(name,start,end,withscores=False)

返回键名为name的zset中index从start到end的所有元素

zrangebyscore(name,min,max,start=None,num=None,withscore=False)

返回键名为name的zset中score在给定区间的 元素

zcount(name,min,max) 返回键名为name的zset中score在给定区间的 元素

zcard(name) 返回键为name的zset的元素的个数

zremrangebyrank(name,min,max) 删除键为name的zset中排名在给定区间的元素

zremrangebyscore(name,min,max)

删除键为name的zset中score在给定区间的元素

6散列操作

hset(name,key,value) 向键为name的散列中添加映射

hsetnx(name,key,value) 如果映射键名不存在,添加映射

hget(name,key) 返回键为name的散列中key对应的值

hmget(name,keys,*args) 返回键为name的散列中各键对应的值

hmset(name,mapping) 向键为name的散列中批量添加映射

hincrby(name,key,amount=1) 将键为name的散列中的key对应的值加1

hexists(name,key) 键为name的散列中是否存在键名为key的映射

hdel(name,*keys) 在键为name的散列中删除对应的映射

hlen(name) 获取散列中映射的个数

hkeys(name) 获取映射名

hvals(name) 获取所有映射值

hgetall(name) 获取所有键值对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值