If you want to use Redis storage for the sccache cache, you need to set the SCCACHE_REDIS_ENDPOINT
with the single-node redis URL.
If you want to use a Redis cluster, set SCCACHE_REDIS_CLUSTER_ENDPOINTS
instead of SCCACHE_REDIS_ENDPOINT
with the comma-separated list of redis node URLs.
Redis endpoint URL format can be found in the OpenDAL source code. Some valid examples:
redis://127.0.0.1:6379
ortcp://127.0.0.1:6379
or127.0.0.1:6379
- TCP-based Redis connection (non-secure)rediss://@1.2.3.4:6379
- TLS-based Redis connection over TCP (secure)unix:///tmp/redis.sock
orredis+unix:///tmp/redis.sock
- Unix socket-based Redis connection
Redis can be configured as a LRU (least recently used) cache with a fixed maximum cache size. Set maxmemory
and maxmemory-policy
according to the Redis documentation. The allkeys-lru
policy which discards the least recently accessed or modified key fits well for the sccache use case.
Redis over TLS is supported. Use the rediss://
url scheme (note rediss
vs redis
). Append #insecure
the the url to disable hostname verification and accept self-signed certificates (dangerous!). Note that this also disables SNI.
If you want to authenticate to Redis, set SCCACHE_REDIS_USERNAME
and SCCACHE_REDIS_PASSWORD
to the username and password accordingly.
SCCACHE_REDIS_DB
is the database number to use. Default is 0.
Set SCCACHE_REDIS_EXPIRATION
in seconds if you don't want your cache to live forever. This will override the default behavior of redis.
SCCACHE_REDIS_TTL
is a deprecated synonym for SCCACHE_REDIS_EXPIRATION
.
Set SCCACHE_REDIS_KEY_PREFIX
if you want to prefix all cache keys. This can be
useful when sharing a Redis instance with another application or cache.
SCCACHE_REDIS
is deprecated for security reasons, use SCCACHE_REDIS_ENDPOINT
instead. See #2083 for details.
If you really want to use SCCACHE_REDIS
, you should URL in format redis://[[<username>]:<passwd>@]<hostname>[:port][/?db=<db>]
.
Use the local Redis instance with no password:
SCCACHE_REDIS=redis://localhost
Use the local Redis instance on port 6379
with password qwerty
:
SCCACHE_REDIS=redis://:qwerty@localhost:6379
Use the 192.168.1.10
Redis instance on port 6380
with username alice
, password qwerty123
and database 12
via TLS connection:
SCCACHE_REDIS=rediss://alice:qwerty123@192.168.1.10:6380/?db=12