本文介绍了redis的安装和配置方法,并给出了一个python实例,实现将图片存入redis和从redis中读取图片。
1、redis安装及配置
(1) 安装
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make
(2)、配置redis:
配置文件是目录redis-5.0.5中的 redis.conf
- 修改daemonize为yes,使得程序可以在后台执行。
- 注释掉bind 127.0.0.1,使得可以支持远程连接。
- 修改登录密码 requirepass 123456
(3)、启动服务和关闭服务:
启动服务: ./src/redis-server ./redis.conf
关闭服务: ./src/redis-cli -a 123456 shutdown
(4)、进入客户端:
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456 # h是host地址,p是端口号,a是配置文件中修改的密码
(5)、常用命令
- flushall 清空redis缓存
- keys * 列出所有的key
(6)、关于redis持久化可以参考这里 https://www.cnblogs.com/AndyAo/p/8135980.html
2、python中使用redis
首先安装python中支持redis的模块,地址为 https://pypi.org/project/redis/
下面是给redis中插入图片和抽取图片的python代码
import pickle
import redis
class CACHE:
def __init__(self, host='127.0.0.1',password='123456'):
pool = redis.ConnectionPool(host=host, password=password)
self.conn = redis.Redis(connection_pool=pool)
def insert_image(self, frame_id, frame):
# 将图片序列化存入redis中
b = pickle.dumps(frame) # frame is numpy.ndarray
self.conn.set(frame_id,b)
def get_image(self, frame_id):
# 从redis中取出序列化的图片并进行反序列化
return pickle.loads(self.conn.get(frame_id))