python redis 存取 图片
时间: 2023-10-26 07:26:17 浏览: 220
图片的存取
在 Python 中使用 Redis 存取图片,可以将图片数据转换为字节流并存储到 Redis 中。下面是一个示例代码:
```python
import redis
from PIL import Image
import io
# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 将图片存储到 Redis
def store_image(image_path, key):
# 打开图片
image = Image.open(image_path)
# 将图片转换为字节流
byte_stream = io.BytesIO()
image.save(byte_stream, format='PNG')
# 存储字节流到 Redis
r.set(key, byte_stream.getvalue())
byte_stream.close()
# 从 Redis 中获取图片
def get_image(key, save_path):
# 从 Redis 中获取字节流
byte_stream = r.get(key)
if byte_stream:
# 将字节流转换为图片
image = Image.open(io.BytesIO(byte_stream))
# 保存图片
image.save(save_path)
# 示例用法
image_path = '/path/to/image.png'
key = 'my_image'
store_image(image_path, key)
save_path = '/path/to/save/image.png'
get_image(key, save_path)
```
上述代码使用了 Redis 的 `set` 和 `get` 方法,分别用于存储和获取字节流数据。在存储图片时,首先打开图片,然后将其转换为字节流,并使用 Redis 的 `set` 方法存储字节流数据。在获取图片时,通过 Redis 的 `get` 方法获取字节流数据,并将其转换为图片对象进行保存。
请注意,在使用上述代码之前,你需要确保已经安装了 Redis 和 Pillow(用于处理图片的 Python 库)。
阅读全文