擅长:python、mysql、java
<p>您的问题是如何使用<code>create_connection</code>。你必须给它打电话,等待它回来</p>
<pre><code>await self.create_connection()
</code></pre>
<p>然后您还需要等待<code>set</code>和<code>get</code>。作为单行线,这会变得混乱</p>
<pre><code>await (await self.create_connection()).set(key, value)
</code></pre>
<p>为了帮助清理这个问题,您应该将等待拆分为单独的语句</p>
<pre><code>conn = await self.create_connection()
await conn.set(key, value)
</code></pre>
<p>每次需要执行操作时创建新连接的成本可能会很高。我建议用一种或两种方式改变<code>create_connection</code></p>
<p>或者让它将连接连接到您的实例</p>
<pre><code>async def create_connection(self):
self.conn = await aioredis.create_redis(self.redis)
</code></pre>
<p>您可以在实例化<code>RedisService</code>的实例并使用</p>
<pre><code>await self.conn.set(key, value)
</code></pre>
<p>或者您可以切换到使用连接池</p>
<pre><code>async def create_connection(self):
return await aioredis.create_redis_pool(self.redis)
</code></pre>