redis在python中的应用

Redis常用的数据结构

  • string

最简单的结构,key-value形式

  • list

一个key对应一个链表

  • hash:

记录一个对象

  • set

无重复的数据集合

  • sorted set (zset)

有序无重复的数据集合

在python中的应用

redis会默认生成0-15的库,推荐使用StrictRedis连接方式

import redis
pool = redis.ConnectionPool(host='localhost', port= 6379, db= 0)
client = redis.StrictRedis(connection_pool=pool)

统一操作

client.exists(key) #是否存在key
client.delete(key) #删除key
client.type(key) #返回key类型
client.keys(pattern) #返回匹配pattern的key
client.randomkey() #随机返回一个key
client.rename(key1, key2) #更改key1名字为key2
client.dbsize() #当前库中key数量
client.expire(key, time) #设置key存在时间
client.ttl(key) #获取key的存在时间
client.flushdb() #删除当前库中所有key
client.flushall() #删除所有库中的所有key

string类型操作

client.set(key, val)
client.get(key)
client.getset(key, val) #返回旧value
client.mget(key1, key2, ...) #返回多个key的val
client.setnx(key, value) #设置不存在的key
client.setex(key, time, value)
client.mset(key1, value1, key2, value2,...)#批量设置key,value
client.msetnx(key, value, key1,value1)
client.incr(key) # value + 1
client.incrby(key,integer) # value + integer
client.decr(key) # value - 1
client.decrby(key, integer) #value - integer
client.appent(key, value) #附加value
client.substr(key, start, end) #返回子串

list类型操作

client.rpush(key, value) #尾部添加
client.lpush(key, value) #头部添加
client.llen(key) #长度
client.lrange(key, start, end) #
client.ltrim(key, start, end)
client.lindex(key, index)
client.lset(key, index, value)
client.lrem(key, count, value)
client.lpop(key)
client.rpop(key)
client.blpop(key1, key2, ...)
client.brpop(key1, key2, ...)
client.rpoplpush(srckey, dstkey)

set类型操作

client.sadd(key, value)
client.srem(key, value)
client.spop(key)
client.smove(skey, dkey, value)
client.scard(key)
client.sismember(key, member)
client.sinter(key1, key2,...)
client.sinterstore(dstkey, key1, key2, ...)
client.sunion(key1, key2, ...)
client.sunionstore(dstkey, key1, key2, ...)
client.sdiff(key1, key2, ...)
client.sdiffstore(dstkey, key1, key2, ...)
client.smembers(key)
client.srandmember(key)

zset类型操作

client.zadd(key, score, value)
client.zrem(key,value)
client.zincrby(key, increment, member)
client.zrank(key, value)
client.zrevrank(key, value)
client.zrange(key, start, end)
client.zrevrange(key, start, end)
client.zrangebyscore(key, min, max)
client.zcard(key)
client.zscore(key, element)
client.zremrangebyrank(key, min, max)
client.zremrangebyscore(key, min, max)
client.zunionstore(dstkeyN, key1,…,keyN, WEIGHTS w1,…wN, AGGREGATE SUM|MIN|MAX)

hash类型操作

client.hset(key, field, value)
client.hget(key, field)
client.hmget(key, field1, …,field N)
client.hmset(key, field1, value1,…,field N, value N)
client.hincrby(key, field, integer)
client.hexists(key, field)
client.hdel(key, field)
client.hlen(key)
client.hkeys(key)
client.hvals(key)
client.hgetall(key)

    原文作者:努力奋斗的小菲菲
    原文地址: https://segmentfault.com/a/1190000013587900
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞