redis是个很有趣的k-v数据库,它很好的照顾到了轻量级和速度两方面,今天试了一下redis的python客户端,看起来好像比mysql更简单的样子,因垂丝汀。
首先安装redis,可以从官网上下载后make,因为我的ubuntu源自带redis,所以直接apt install redis-server就好了,然后
vim /etc/redis/redis.conf
requirepass设置成你的密码,listenaddress改成0.0.0.0以便于我在宿舍访问我实验室的服务器。
这里要提醒一下,redis默认开启了安全模式,如果没有密码是只能接受来自loop这个interface的连接的,所以还是推荐设置一下密码。
然后安装python下的redis客户端,根据官方的指引,推荐我们安装redis-py客户端,于是
pip install redis
刷刷刷装完,然后试一下
import redis
r = redis.StrictRedis(host=’IP_ADDR’, port=6379, db=0, password=’MY_PASSWORD’)
r.set(‘foo’, ‘bar’)
True
r.get(‘foo’)
‘bar’
成功,这表明我们的redis服务器和客户端已经正常通讯了,然后我们开始写flask==
find.html
FINDKey:
{% block result %}
{% endblock %}
index.html
TEST WEBSITEKey:
Value:
{{ status }}
show.html
{% extends "find.html" %}
{% block result %}
result is:
{{ value_from_query }}
{% endblock %}
{% raw %}
main_website_controler.py
#coding=utf-8
from flask import Flask
from flask import render_template
from flask import request
import redis
conn_pool=redis.ConnectionPool(host=’10.19.14.242’, port=6379, db=0, password=’MY_PASSWORD’)
app = Flask(name)
@app.route(‘/‘)
def hello_world():
return render_template(‘index.html’)
@app.route(‘/find’)
def find():
return render_template(‘find.html’)
@app.route(‘/submit’, methods=[‘POST’])
def insert_data():
a=dict(request.form)
r = redis.Redis(connection_pool=conn_pool)
status=’Success!’
try:
r.set(a.get(‘key’)[0], a.get(‘value’)[0])
except Exception as err:
status=str(err)return render_template('index.html', status=status)
@app.route(‘/show’, methods=[‘POST’])
def show(value=None):
a = dict(request.form)
r = redis.Redis(connection_pool=conn_pool)
value=r.get(a.get(‘key’)[0])
return render_template(‘show.html’, value_from_query=value)
if name == ‘main‘:
app.run()
运行一下
成功
今天的试用到此结束==