通过Flask将GET/POST请求转换成对Redis缓存库操作的方法

Flask对Redis缓存库做数据写入读出

最近做相关FLASK接口数据对数据的存储实现及时存取,是这样的一个环境状态:(上草图)
flaskoprationredis
※目前所需要知道的是我从client端,做GET或者POST请求时,我的Flask请求参数会判断相应的请求参数对Redis做 写入/读取 操作。
※这是我们所需要实现的大概情况,根据这个大概情况,我们心里就应该能够理解所需要的操作步骤分别是什么了。
我按照草图里面的请求操作来分解一下需要的相关操作:
1、※client端进行GET请求时,我的Flask接收到GET请求,然后对GET请求进行相应的操作,相应的操作中可能包含对Redis的读写。
2、※client端进行POST请求时,我的Flask接收到POST请求,然后对POST请求进行相应的操作,相应的操作中也可能包含对Redis的读写。
3、※以上两种操作最后都可能对Redis进行相应的读写,那么Redis接收到了相关的操作请求,就需要执行录入或者反馈操作信息。
OK!
※那么根据这三条分解步骤,可以知道我们所需要的数据交互核心在Flask框架本身,我需要将入出接口数据在Flask中进行交互,然后剩下执行的写入和查询Redis操作单独择出来做明显的动作分离即可。
1、先定义Redis操作动作代码RedisOpration_file:

#RedisOpration_file
import redis
class Insert_redis():
    read_redis = redis.StrictRedis(host='localhost', port=6379,decode_responses=True)
    def set_value(self,key_name,set_input_value):
        self.read_redis.lpush(key_name, set_input_value)
opration_redis = Insert_redis()
if __name__ == "__main__":
    print("")
else:
    opration_redis

在上面这段代码中,我定义了一个class类,类名叫“Insert_redis”。
在class类中定义了一个类函数read_redis创建Redis连接,连接参数为本地的6379默认Redis端口,后面的decode_responses参数意思是将写入Redis键值对中的value定义为String字符串类型。
set_value函数方法定义了两个方法传参key_name和set_input_value,分别传入我们后面执行操作时候需要创建的Redis key名和key里面的value参数。
在set_value函数方法里面只定义了一条操作,这一条操作是对Redis创建Key值并且对创建的Key值添加value操作,LPUSH代表的对Redis进行list列表创建,后面的参数按照位置对应是*(创建的Key值,该Key值中传入的value参数)*
2、定义一个Flask_Opration,该Flask引用Insert_redis类中的Redis操作:

#Flask_Opration
import flask,RedisOpration_file
GetPost_data = flask.Flask(__name__)
@GetPost_data.route('/',methods=['GET','POST'])
def Get_Post():
	if flask.request.method == "GET":
		RedisOpration_file.opration_redis.set_value("Key_aa","value")
		return ("写入Key_aa键值成功!对Key_aa键值录入一条数据")
if __name__ == "__main__":
	GetPost_data.run()

在第二段代码中,我定义了一个简单的Flask请求反馈request函数方法,方法名称是“Get_Post”。
在Get_Post中做了条件判断,判断Flask接收到的前端接口请求是GET方法,调用RedisOpration_file中的set_value动作将"Key_aa"和"value"键入Redis。
至此从Flask到Redis数据写入就已经完成了,我们可以试着打开Postman接口工具,来对我们的Redis进行数据写入:
打开Postman:直接在Postman中通过Flask地址进行JSON的GET点击即可实现对Redis的数据键入:
postmanGet写入Redis
可以看到右边postman返回的参数提示已经将我们的Key值和Value参数写入到了左边的Redis中。


3、接下来定义一个读取Redis的动作:
在RedisOpration_file中增加一个读取方法

#RedisOpration_file
import redis
class Insert_redis():
    read_redis = redis.StrictRedis(host='localhost', port=6379,decode_responses=True)
    dict_a = {}
    def set_value(self,key_name,set_input_value):
        self.read_redis.lpush(key_name, set_input_value)
    def get_value(self):
    	for key in self.read_redis.keys("*"):
    		random_value = self.read_redis.lrange(key, 0, 0)
    		self.dict_a[key] = random_value[0]
    	return self.dict_a
opration_redis = Insert_redis()
if __name__ == "__main__":
    print("")
else:
    opration_redis

在第3段代码中,我新增了一个get_value方法,这个方法中定义了一个循环,循环遍历Redis中读取的所有Key值value,并将这些读取到的value一一对应key值存储到dict_a字典中,最后返回生成的字典。
4、在Flask操作中的Get_Post方法内追加一条POST判断:

#Flask_Opration
import flask,RedisOpration_file
GetPost_data = flask.Flask(__name__)
@GetPost_data.route('/',methods=['GET','POST'])
def Get_Post():
	if flask.request.method == "GET":
		RedisOpration_file.opration_redis.set_value("Key_aa","value")
		return ("写入Key_aa键值成功!对Key_aa键值录入一条数据")
	if flask.request.method == "POST":
		get_redis = RedisOpration_file.opration_redis.get_value()
		return (get_redis)
if __name__ == "__main__":
	GetPost_data.run()

在第4段代码中,我新增了一条Flask对POST请求判断,如果接口请求为POST,则调用
get_value方法返回Redis中所有的key值和value参数组成的字典值到Postman展示出来。
postmanPost读取Redis
END!
至此,一小段简单的Flask接口对接Redis缓存库就已经完成了!
记录一小步,向前一大步!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值