code: def scan_keys(self, match=None, count=None):
          
          cursor = 0
          while True:
              cursor, keys = self.connection.scan(cursor, match=match, count=count)
              for key in keys:
                  yield key
              if not cursor or cursor == '0':  # string for redis.py < 2.10
                  break
docs: Take a pattern expected by the redis `scan` command and iter on all matching keys
  
          Parameters
          ----------
          match: str
              The pattern of keys to look for
          count: int, default to None (redis uses 10)
              Hint for redis about the number of expected result
  
          Yields
          -------
          str
              All keys found by the scan, one by one. A key can be returned multiple times, it's
              related to the way the SCAN command works in redis.