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下函数参数的传递(参数带星号的说明)
Sep 19 Python
python网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
python安装以及IDE的配置教程
Apr 29 Python
用Python将IP地址在整型和字符串之间轻松转换
Mar 22 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
opencv与numpy的图像基本操作
Mar 08 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
Feb 23 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
Pytorch 中的optimizer使用说明
Mar 03 Python
解决Django transaction进行事务管理踩过的坑
Apr 24 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
全文搜索和替换
2006/10/09 PHP
用PHP中的 == 运算符进行字符串比较
2006/11/26 PHP
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
一步一步学习PHP(4) php 函数 补充2
2010/02/15 PHP
PHP实现删除字符串中任何字符的函数
2015/08/11 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)
2010/03/01 Javascript
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
javascript自定义事件功能与用法实例分析
2017/11/08 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
初学python数组的处理代码
2011/01/04 Python
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
详解python和matlab的优势与区别
2019/06/28 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
计算机操作自荐信
2013/12/07 职场文书
教师党员思想汇报
2014/01/06 职场文书
趣味运动会活动方案
2014/02/12 职场文书
优秀公益广告词大全
2014/03/19 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
派出所所长先进事迹
2014/05/19 职场文书
mysql自增长id用完了该怎么办
2022/02/12 MySQL