redis uri连接参数

755 阅读2分钟

Connections to a Redis Standalone, Sentinel, or Cluster require a specification of the connection details. The unified form is RedisURI. You can provide the database, password and timeouts within the RedisURI. You have following possibilities to create a RedisURI:

  1. Use an URI:
    RedisURI.create("redis://localhost/");
  1. Use the Builder
    RedisURI.Builder.redis("localhost", 6379).auth("password").database(1).build();
  1. Set directly the values in RedisURI
    new RedisURI("localhost", 6379, 60, TimeUnit.SECONDS);

URI syntax

Redis Standalone

redis :// [[username : ] password@] host [ : port][ / database]
          [ ? [timeout=timeout[d|h|m|s|ms|us|ns]]

Redis Standalone (SSL)

rediss :// [[username : ] password@] host [ : port][ / database]
           [ ? [timeout=timeout[d|h|m|s|ms|us|ns]]

Redis Standalone (Unix Domain Sockets)

redis-socket :// [[username : ] password@]path
                 [ ? [timeout=timeout[d|h|m|s|ms|us|ns]] [&database=database]]

Redis Sentinel

redis-sentinel :// [[username : ] password@] host1[ : port1] [, host2[ : port2]] [, hostN[ : portN]] [ / database]
                   [ ? [timeout=timeout[d|h|m|s|ms|us|ns]] [&sentinelMasterId=sentinelMasterId]

Schemes

  • redis Redis Standalone
  • rediss Redis Standalone SSL
  • redis-socket Redis Standalone Unix Domain Socket
  • redis-sentinel Redis Sentinel

Timeout units

  • d Days
  • h Hours
  • m Minutes
  • s Seconds
  • ms Milliseconds
  • us Microseconds
  • ns Nanoseconds

Hint: The database parameter within the query part has higher precedence than the database in the path.

RedisURI supports Redis Standalone, Redis Sentinel and Redis Cluster with plain, SSL, TLS and unix domain socket connections.

Hint: The database parameter within the query part has higher precedence than the database in the path. RedisURI supports Redis Standalone, Redis Sentinel and Redis Cluster with plain, SSL, TLS and unix domain socket connections.

Authentication

Redis URIs may contain authentication details that effectively lead to usernames with passwords, password-only, or no authentication. Connections are authenticated by using the information provided through RedisCredentials. Credentials are obtained at connection time from RedisCredentialsProvider. When configuring username/password on the URI statically, then a StaticCredentialsProvider holds the configured information.

Notes

  • When using Redis Sentinel, the password from the URI applies to the data nodes only. Sentinel authentication must be configured for each sentinel node.
  • Usernames are supported as of Redis 6.

This wiki and the README document contains a lot of information, please take your time and read these instructions carefully.

If you run into any trouble, you may start with getting started.

We provide detailed changes for each Lettuce release.

Be sure to read the CONTRIBUTING guidelines before reporting a new Lettuce issue or open a pull request.

If you have any questions about the Lettuce usage or want to share some information with the community, please go to one of the following places:

More resources: