问题描述 用我自己封装的这个模块 会出现好几个问题
两者都在我重启项目之后正常了 我感觉是缓存的问题
那个 select 有缓存真的是醉了 读不到最新的数据 而且 cls.pool = None 就完全发挥不了连接池的作用了 求帮忙
class AioMysqlHelper:
pool = None
@classmethod
async def get_pool(cls):
if not cls.pool:
cls.pool = await aiomysql.create_pool(**Config.mysql)
return cls.pool
@classmethod
async def insert(cls, sql, params=None):
params = params or []
await cls.get_pool()
async with cls.pool.acquire() as conn:
async with conn.cursor() as cur:
try:
await cur.execute(sql, params)
await cur.execute("commit;")
await conn.commit()
except Exception as err:
await conn.rollback()
raise err
cls.pool = None
@classmethod
async def select(cls, sql, params=None, one=True):
params = params or []
await cls.get_pool()
async with cls.pool.acquire() as conn:
async with conn.cursor() as cur:
try:
await cur.execute(sql, params)
return await (cur.fetchone() if one else cur.fetchall())
except Exception as err:
conn.rollback()
raise err
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.