本文主要是介绍windows通过python脚本重启本地redis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.检查redis server是否运行正常
def check_server():conn = redis.StrictRedis(host="127.0.0.1",port=6379,db=0,socket_timeout=5, # 发出命令接收响应的时间不能超过此参数设置时间socket_connect_timeout=5 # 建立连接超时时间)flag = Falsetry:res = conn.get('a')flag = Trueexcept Exception as e:# print('check_server error: %s' % e)print(traceback.format_exc())return flag
2.获取redis server进程id
def get_server_pid():import psutilspid = 0for process in psutil.process_iter():# info = process.as_dict(attrs=['name', 'pid'])name = process.name()pid = process.pidif name == 'redis-server.exe':# print(pid, type(pid))spid = pidbreakreturn spid
3.关掉之前的进程
def do_kill(pid):cmd = 'taskkill /pid ' + str(pid) + ' /f'try:os.system(cmd)except Exception as e:print('do_kill error: %s, pid: %s' % (e, pid))
4.重启redis server
def restart_redis_server():# 直接通过命令行启动redis server,无法得到之前redis server的数据,所以采用这种方式重启rediscmd = r'start C:\work\redis_server_restart.bat'# print(cmd)result = 10086try:result = os.system(cmd)except Exception as e:print('restart restart_redis_server: %s' % e)return result
对应的redis_server_restart.bat脚本:
@echo off
title redis-server
::set ENV_HOME="D:\redis"
::D:
set ENV_HOME="C:\Users\Administrator\Desktop\redis"
C:
color 0a
cd %ENV_HOME%
redis-server.exe redis.windows.conf
::exit
这篇关于windows通过python脚本重启本地redis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!