docs: async def startup(self, app):
          """Connect to Redis."""
          if self.cfg.fake:
              if not FakeConnection:
                  raise PluginException('Install fakeredis for fake connections.')
  
              self.conn = await FakeConnection.create()
              if self.cfg.pubsub:
                  self.pubsub_conn = self.conn
  
          else:
              try:
                  if self.cfg.poolsize <= 1:
                      self.conn = await asyncio.wait_for(
                          asyncio_redis.Connection.create(
                              host=self.cfg.host, port=self.cfg.port,
                              password=self.cfg.password, db=self.cfg.db,
                          ), self.cfg.timeout)
                  else:
                      self.conn = await asyncio.wait_for(asyncio_redis.Pool.create(
                          host=self.cfg.host, port=self.cfg.port,
                          password=self.cfg.password, db=self.cfg.db,
                          poolsize=self.cfg.poolsize,
                      ), self.cfg.timeout)
                  if self.cfg.pubsub:
                      self.pubsub_conn = await asyncio.wait_for(
                          asyncio_redis.Connection.create(
                              host=self.cfg.host, port=self.cfg.port,
                              password=self.cfg.password, db=self.cfg.db,
                          ), self.cfg.timeout
                      )
              except asyncio.TimeoutError:
                  raise PluginException('Muffin-redis connection timeout.')
  
          if self.cfg.pubsub:
              self.pubsub_subscription = await self.pubsub_conn.start_subscribe()
              self.pubsub_reader = ensure_future(self._pubsub_reader_proc(), loop=self.app.loop)