前言
Redis 是一个开源的、高性能的、基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同场景下的缓存和存储需求。同时,Redis 的诸多高层级功能使其可以胜任消息队列、任务队列等不同的角色。
一、Redis 是什么?
Redis 是 REmote DIctionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过 TCP 协议读写字典中的内容。同大多数脚本语言中的字典一样,Redis 字典中的键值除了可以是字符串,还可以是其他数据类型。
二、使用步骤
1. 安装包
pip install redis
2. Python 使用 Redis
Redis 的安装见 Redis 安装
Python 代码如下
import redis
import warnings
warnings.filterwarnings('ignore')
# 默认连接到地址 127.0.0.1 端口 6379
# client = redis.StrictRedis()
# 显式指定需要连接的地址,可设置 password
client = redis.StrictRedis(host="127.0.0.1", port=6379, db=0)
print(client)
# 简单的 GET / SET
client.set("firstKey", "testString")
print(client.get("firstKey"))
# HSET 支持将字典作为参数存储,HGETALL 的返回值也是字典
client.hmset("testDict", {"name": "Tom", "species": "Cat"})
animal = client.hgetall("testDict")
print(animal)
print(animal[b"name"])
# 事务
transaction = client.pipeline()
transaction.set("testKey1", "aaa")
transaction.get("testKey1")
result = transaction.execute()
print(result)
# 管道,相比于事务只需要在创建时加上参数 transaction=False
pipeline = client.pipeline(transaction=False)
pipeline.set("testKey2", "bbb")
pipeline.get("testKey2")
result = pipeline.execute()
print(result)
# 事务和管道支持链式调用
result = client.pipeline(transaction=False).set("testKey3", "ccc").get("testKey3").execute()
print(result)
总结
Redis 数据库中的所有数据都存储在内存中,由于内存的读写速度远快于硬盘,因此 Redis 在性能上对比其他的基于硬盘存储的数据库有非常明显的优势。