Python如何操作docker redis过程解析

 更新时间:2020年08月10日 10:58:22   作者:Yi_warmth  
这篇文章主要介绍了Python如何操作docker redis过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

使用操作命令借助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爬取代理IP并进行有效的IP测试实现

    python爬取代理IP并进行有效的IP测试实现

    这篇文章主要介绍了python爬取代理IP并进行有效的IP测试实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Python利用Matplotlib绘制柱状图(竖直柱状图和水平柱状图)、直方图和饼状图

    Python利用Matplotlib绘制柱状图(竖直柱状图和水平柱状图)、直方图和饼状图

    这篇文章主要给大家介绍了关于Python利用Matplotlib绘制柱状图(竖直柱状图和水平柱状图)、直方图和饼状图的相关资料,Python使用matplotlib画图是非常方便的,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Python实现代码统计工具(终极篇)

    Python实现代码统计工具(终极篇)

    这篇文章主要介绍了Python实现代码统计工具的相关资料,供大家参考,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • 基于Pytorch实现逻辑回归

    基于Pytorch实现逻辑回归

    这篇文章主要为大家详细介绍了基于Pytorch实现逻辑回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • python编写简单端口扫描器

    python编写简单端口扫描器

    这篇文章主要为大家详细介绍了python编写简单端口扫描器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • opencv转换颜色空间更改图片背景

    opencv转换颜色空间更改图片背景

    这篇文章主要为大家详细介绍了opencv转换颜色空间更改图片背景,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 教你用Python按顺序读取文件夹中文件

    教你用Python按顺序读取文件夹中文件

    最近工作中读取文件时经常遇上比较复杂的情况,所以下面这篇文章主要给大家介绍了关于如何利用Python按顺序读取文件夹中文件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Qt实现炫酷启动图动态进度条效果

    Qt实现炫酷启动图动态进度条效果

    最近接到一个新需求,让做一个动效进度条。刚接手这个项目真的不知所措,后来慢慢理清思路,问题迎刃而解,下面小编通过本文给大家带来了Qt实现炫酷启动图动态进度条效果,感兴趣的朋友一起看看吧
    2021-11-11
  • 利用Python+Excel制作一个视频下载器

    利用Python+Excel制作一个视频下载器

    说起Excel,那绝对是数据处理领域王者般的存在。而作为网红语言Python,在数据领域也是被广泛使用。本文将利用Python和Excel制作一个视频下载器,需要的可以参考一下
    2022-05-05
  • 详解Python如何将多张照片制作成视频

    详解Python如何将多张照片制作成视频

    这篇文章主要详解为大家介绍了Python如何将多张照片制作成视频,文章通过一个例子给大家介绍多张照片制作成视频的方法,代码示例介绍的非常详细,感兴趣的同学可以参考一下
    2023-07-07

最新评论