Python使用redis包

   redis包的使用找到了一个好文:Python操作Redis,你要的都在这了! - John-Python - 博客园 (cnblogs.com),文章中已经非常详细的介绍了python的redis包的使用。本文只给出了一些案例使用案例,后序后时间会加入双删,双写数据库的工具包(等我找到成熟的项目代码)

1、连接Redis服务器

import redis

# 使用连接池必须将password='123456'写下pool中
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, password='123456', decode_responses=True)
conn = redis.StrictRedis(connection_pool=pool, db=0)
# 清空当前数据库中所有键值对(这应该在连接)
conn.flushdb()

2、字符串类型值的操作

# 设置字符串
conn.set('字符串', 'Hello World')

# 设置字典, 可以将对象转化为字符串储存, 使用json.dumps
conn.set('字典_字符串', json.dumps({'key': 'value'}))
conn.set('列表_字符串', json.dumps(["元素1", "元素2"]))


# 读取指定键的值
conn.get("字符串")

# 给数据库中键为name的string赋予新值value并返回之前存下的old_value
conn.getset("字符串", "new_value")   # conn.get("字符串")的结果为new_value

# 返回多个键对应值列表(入参为列表), 按顺序返回, 如果不存在则返回None值
conn.mget(["字符串", "列表3", "字典"])

# 如果key不存在时, 才执行set操作(也就是只执行插入)key:value键值对,返回True; 如果key存在则不变, 返回False
conn.setnx("字符串", "setnx的值")

# 存入(更新)字符键值对, 并设定过期时间。如果key存在则执行更新操作(set都是具有更新操作的)
conn.setex("字符串", 10, "setex的值")

# 批量set操作, 传入字典
conn.mset({"key1": "value1", "key2": "value2"})

# 批量set也存在对应的setnx方法(键均不存在时才批量插入键值对), 注意是所有的键都不存在才会执行所有的插入
conn.msetnx({"key7": "value1", "key6": "value2"})

3、键的通用操作

# 查看指定键的失效时间
print(conn.ttl("字典_字符串"))

# 判断某个键是否存在
print(conn.exists("字典_字符串"))

# 判断键的类型
print(conn.type("字符串"))

# 删除某个键
conn.delete("字典_字符串")

4、值为列表类型操作

# 在键为name的列表末尾添加值为value的元素, 可以传多个, 如果不存在对应的键则为创建
conn.rpush("列表_类型", *["元素1","元素2","元素2"])

# 读取列表类型指定位置的元素
conn.lindex("列表_类型", 1)

# 给键为name的列表中index位置的元素赋值,越界则报错
conn.lset("列表_类型", 1, "新值")

数据库-Redis工具类

 

 

参考网址:

Python操作Redis,你要的都在这了! - John-Python - 博客园 (cnblogs.com)

posted @ 2024-02-29 16:07  Circle_Wang  阅读(92)  评论(0编辑  收藏  举报