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使用递归解决全排列数字示例
Feb 11 Python
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
Python两个内置函数 locals 和globals(学习笔记)
Aug 28 Python
pycharm安装图文教程
May 02 Python
浅谈Python中带_的变量或函数命名
Dec 04 Python
Anaconda下安装mysql-python的包实例
Jun 11 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
在pycharm 中添加运行参数的操作方法
Jan 19 Python
python pyinstaller 加载ui路径方法
Jun 10 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 Python
Python 在函数上添加包装器
Jul 28 Python
python 中的命名空间,你真的了解吗?
Aug 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生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
php实现微信发红包
2015/12/05 PHP
CI框架常用函数封装实例
2016/11/21 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
2020/06/23 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
python两种遍历字典(dict)的方法比较
2014/05/29 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
python根据多个文件名批量查找文件
2019/08/13 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
python datetime处理时间小结
2020/04/16 Python
什么是python的id函数
2020/06/11 Python
python 用struct模块解决黏包问题
2020/11/07 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
关于爱国的演讲稿
2014/05/07 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
高中地理教学反思
2016/02/19 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
python 离散点图画法的实现
2022/04/01 Python
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技