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:
- Use an URI:
RedisURI.create("redis://localhost/");
- Use the Builder
RedisURI.Builder.redis("localhost", 6379).auth("password").database(1).build();
- 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
redisRedis StandaloneredissRedis Standalone SSLredis-socketRedis Standalone Unix Domain Socketredis-sentinelRedis Sentinel
Timeout units
dDayshHoursmMinutessSecondsmsMillisecondsusMicrosecondsnsNanoseconds
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:
- GitHub Discussions
for chatting
More resources:
- Javadoc
- Build status: Travis CI
- All versions: Maven Central
- Snapshots: Sonatype OSS Repository
- github