问题:项目使用redis 维护了 一个队列 一个栈,数据使用时如果出现异常需要进行回滚,所以实现一下,后续再完善
# -*- encoding: utf-8 -*-
import logging
import redis
from collections import deque
class RedisClientTranslate(object):
MaxTranslate = 10
TranslateNums = 0
def __init__(self, conf):
if self.__class__.TranslateNums == self.__class__.MaxTranslate:
logging.error("最大上限")
raise
self.__client = redis.Redis(**conf)
self.history = deque(maxlen=100)
self.__class__.TranslateNums += 1
def lpop(self, key):
value = self.__client.lpop(key)
def rollback():
if not value:
return
value_str = value.decode()
self.__client.lpush(key, value_str)
self