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 = False
try:
res = conn.get('a')
flag = True
except Exception as e:
# print('check_server error: %s' % e)
print(traceback.format_exc())
return flag
2.获取redis server进程id
def get_server_pid():
import psutil
spid = 0
for process in psutil.process_iter():
# info = process.as_dict(attrs=['name', 'pid'])
name = process.name()
pid = process.pid
if name == 'redis-server.exe':
# print(pid, type(pid))
spid = pid
break
return 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的数据,所以采用这种方式重启redis
cmd = r'start C:\work\redis_server_restart.bat'
# print(cmd)
result = 10086
try:
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