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数组过滤实现方法
Jul 27 Python
详解C++编程中一元运算符的重载
Jan 19 Python
详解Python命令行解析工具Argparse
Apr 20 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
opencv python 2D直方图的示例代码
Jul 20 Python
python3 爬取图片的实例代码
Nov 06 Python
Python处理时间日期坐标轴过程详解
Jun 25 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
Jun 26 Python
浅析Python 条件控制语句
Jul 15 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 Python
详解解Django 多对多表关系的三种创建方式
Aug 23 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相当简单的分页类
2008/10/02 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
PHP精确计算功能示例
2016/11/29 PHP
img的onload的另类用法
2008/01/10 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
微信小程序API—获取定位的详解
2019/04/30 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
Vue基本指令实例图文讲解
2021/02/25 Vue.js
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
在Django中使用Sitemap的方法讲解
2015/07/22 Python
python实现图像识别功能
2018/01/29 Python
分分钟入门python语言
2018/03/20 Python
python定时关机小脚本
2018/06/20 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
python画图常规设置方式
2020/03/05 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
如何写一份好的自荐信
2014/01/02 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
期末考试复习计划
2015/01/19 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript