parse.py 473 B

12345678910111213
  1. import re
  2. def parse_redis_connection_string(connection_string):
  3. """
  4. parse a redis connection string, for example:
  5. redis://[password]@host:port
  6. rediss://[password]@host:port
  7. :param connection_string:
  8. :return:
  9. """
  10. result = re.match('rediss?:\/\/(.*?)@(.*?):(\d+)\/(\d+)', connection_string)
  11. return result.group(2), int(result.group(3)), (result.group(1) or None), (result.group(4) or 0) if result \
  12. else ('localhost', 6379, None)