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类的基础入门知识
Nov 24 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
python奇偶行分开存储实现代码
Mar 19 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
Python实现的读写json文件功能示例
Jun 05 Python
Python3.5面向对象程序设计之类的继承和多态详解
Apr 24 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
Jun 13 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 Python
Keras自动下载的数据集/模型存放位置介绍
Jun 19 Python
Python实现手绘图效果实例分享
Jul 22 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安全技术之 实现php基本安全
2010/09/04 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP比你想象的好得多
2014/11/27 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
javascript读取xml实现javascript分页
2013/12/13 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
2015/01/19 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
Vue组件开发初探
2017/02/14 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
python urllib爬取百度云连接的实例代码
2017/06/19 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
分析python请求数据
2018/08/19 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
秋季红领巾广播稿
2014/01/27 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
护士心得体会范文
2016/01/25 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
JavaScript实现简单的音乐播放器
2022/08/14 Javascript