python使用Redis数据库同步多进程间的全局变量

文章目录

进程的高并发读写问题其实使用锁并不是太好的机制,并且实现起来比较麻烦和费事儿,稍微不注意就有可能出错。
我们可以使用Redis解决这一问题,Redis是基于内存的数据库,速度超快。
我在实际应用时只需要在多个共享的进程间设置一个整数类型的全局变量,所以封装了下Redis的相关接口。

代码

from redis import StrictRedis
from redis.exceptions import ConnectionError

sr = StrictRedis(host='st.coco56.top', port=6379, db=0)

def getInt(key, default=0):
	"""
	从Redis数据库中通过键获取整数
	:param key: 键
	:param default:当键不存在时设置的默认值
	:return: 键所对应的值
	"""
	try:
		value = int(sr.get(key))
	except ConnectionError as err:
		print(err)
		value = getInt(key, default)
	if value is None:
		value = default
		setInt(key, value)
	return value

def setInt(key, value):
	"""
	在Redis数据库中设置键值对
	:param key:
	:param value:
	:return: 成功返回True,错误返回False
	"""
	return sr.set(key, int(value))

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页