前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker搭建webdis用于提供api查询redis中的数据

Docker搭建webdis用于提供api查询redis中的数据

作者头像
小博测试成长之路
发布2022-04-27 08:15:42
9210
发布2022-04-27 08:15:42
举报
文章被收录于专栏:软件测试学习软件测试学习

背景

为什么想着要去搭建一个api的服务去查询redis中的数据呢?原因如下:

最近在做一个实战项目的接口自动化,先选用的是postman工具,该项目的登录接口会涉及到要输入验证码,然后验证码是存储在redis中的,目前postman中好像没找到什么好的方法去直接查redis中的数据,然后就准备采取这种这种的方式。

本来是自己用python写了一个api接口去查的,后来在微信群请教的时候,有大佬提示可以考虑下Webdis,然后我查了一下可以用,然后今天决定分享出来。

部署教程

webdis本身是github上一个开源的项目,本来打算用源码编译部署的,尝试了一下编译会报错,懒得去折腾了,于是转用docker的方式去搭建。

操作步骤如下:

1、在服务器上搭建好docker环境。Docker环境搭建

如果有不会搭建的,可以参考菜鸟教程,去上面搜教程即可。

2、下载镜像

代码语言:javascript
复制
docker pull nicolas/webdis:latest

3、启动容器

代码语言:javascript
复制
docker run -itd --name webdis  -p 7379:7379 nicolas/webdis

4、进入到容器里面,修改redis的地址,然后重启镜像

代码语言:javascript
复制
进入容器:
docker exec -it webdis sh
cd /etc
vi  webdis.prod.json
然后修改redis_host,填入自己的redis地址接口

然后执行命令重启一下docker镜像:

代码语言:javascript
复制
docker restart webdis

测试效果

测试常用API,或者在浏览器打开对应地址测试

代码语言:javascript
复制
 # curl http://127.0.0.1:7379/SET/key/value
 # curl http://127.0.0.1:7379/GET/key
 # curl http://127.0.0.1:7379/DEL/key
 # curl http://127.0.0.1:7379/keys/*

python脚本实现简易的api接口查redis数据

redis_tools.py:

定义一个获取redis连接对象和一个用get命令获取数据的方法

代码语言:javascript
复制
import redis


def get_redis_client(host="xxx.xxx.xxx.xxx", port=6379):
    client = redis.Redis(host=host, port=port, decode_responses=True)
    return client


def get_redis_data(client, operate, key):
    if operate == 'get':
        return client.get(key)

redisapi.py:

代码语言:javascript
复制
from flask import Flask, request
from redis_tools import *

app = Flask(__name__)

return_dict = {'code': '200'}


@app.route('/redisapi/get', methods=['GET'])
def redisapi_get():
    if request.method == 'POST':
        return_dict['code'] = '405'
        return_dict['message'] = 'Method not allowed'

    if request.args is None:
        return_dict['code'] = '400'
        return_dict['message'] = '请求参数key不能为空'
    elif "key" in request.args.to_dict().keys():
        get_data = request.args.to_dict()
        key = get_data['key']
        r = get_redis_client()
        result = get_redis_data(r, 'get', key)
        return_dict['data'] = result
    return return_dict


if __name__ == '__main__':
    app.run(debug=True)

运行redisapi.py脚本后,就可以在浏览器查询redis中的数据了:

http://127.0.0.1:5000/redisapi/get?key=backup3

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小博测试成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档