Python如何操作docker redis过程解析


Posted in Python onAugust 10, 2020

使用操作命令借助subprocess模块进行操作

#encoding:utf-8
import subprocess
def cmd(command):
  subp = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding="utf-8")
  subp.wait(2)
  if subp.poll() == 0:
    return subp.communicate()
  else:
    return None
获取redis键所对应的值

def get_output(command):
  subp = subprocess.getoutput(command)
  return subp

flask框架获取docker里面redis中的键值对

@ui_case_set.route("/get_code", methods=["GET"])
@allow_cross_domain
def get_code():
  set_id = request.values.get("id")
  if not set_id:
    return response_fail(msg="缺少参数用例集id")
  key_name = "key" + str(set_id)
  value_name = get_output("docker exec {0} redis-cli get {1}".format(DockerConfig.container_redis_name, key_name))
  if value_name:
    return response_fail(msg="此测试集正被{}编辑!".format("金刚"))
  else:
    return response_success(msg="可以进行编辑!")

flask框架增加及删除docker里面redis中的键值对

@ui_case_set.route("/time_limit", methods=["POST"])
@allow_cross_domain
def set_time():
  # lock:为1:上锁, 为0时: 解锁
  set_id = request.json.get("id")
  locak = request.json.get("lock")
  # if not all([set_id, locak]):
  #   return response_fail(msg="参数不足")
  key_name = "key" + str(set_id)
  if locak == 1:
    value_name = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))
    cmd("docker exec {0} redis-cli setex {1} 300 '{2}'".format(DockerConfig.container_redis_name, key_name, value_name))
    return response_success(content={"lock_status": 1}, msg="测试集{}上锁成功".format(set_id))
  else:
    cmd("docker exec {0} redis-cli del {1}".format(DockerConfig.container_redis_name, key_name))
    return response_success(content={"lock_status": 0}, msg="测试集{}解锁成功".format(set_id))

注意点: 使用操作命令时不要带 “-it",如(docker exec -it ui_redis(docker容器名称) redis-cli set key vale) 否则接口在前台运行方式下是可以正常访问的,在python程序后台运行下运行失败。因为 指定 -it 是需要开启一个交互模式的终端。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之urllib2使用指南
Nov 05 Python
Python标准库内置函数complex介绍
Nov 25 Python
windows 下python+numpy安装实用教程
Dec 23 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
python3实现域名查询和whois查询功能
Jun 21 Python
Python面向对象类的继承实例详解
Jun 27 Python
Python利用字典破解WIFI密码的方法
Feb 27 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
pytorch 加载(.pth)格式的模型实例
Aug 20 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
python实现简单的tcp 文件下载
Sep 16 Python
Python实现淘宝秒杀功能的示例代码
Jan 19 Python
基于Python实现下载网易音乐代码实例
Aug 10 #Python
Python grequests模块使用场景及代码实例
Aug 10 #Python
基于Python pyecharts实现多种图例代码解析
Aug 10 #Python
Python Celery异步任务队列使用方法解析
Aug 10 #Python
使用Python将语音转换为文本的方法
Aug 10 #Python
Python获取excel内容及相关操作代码实例
Aug 10 #Python
Python利用命名空间解析XML文档
Aug 10 #Python
You might like
php xml-rpc远程调用
2008/12/19 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
js版本A*寻路算法
2006/12/22 Javascript
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
使用yeoman构建angular应用的方法
2017/08/14 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
各个系统下的Python解释器相关安装方法
2015/10/12 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
django settings.py 配置文件及介绍
2019/07/15 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
自我推荐书
2013/12/04 职场文书
大家访活动实施方案
2014/03/10 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
比较node.js和Deno
2021/04/27 Javascript
nginx+lua单机上万并发的实现
2021/05/31 Servers