On this page
Go-redis
What is Go-redis
The go-redis client instance must connect to an external service (redis service) that you run on your own.
Redis is often referred to as a data structures server. What this means is that Redis provides access to mutable data structures via a set of commands, which are sent using a server-client model with TCP sockets and a simple protocol. So different processes can query and modify the same data structures in a shared way.
Github repository
https://github.com/redis/go-redis
Use Go-redis
With Caddy
You have to build your caddy instance including Souin
and Go-redis
using xcaddy
(refer to the build caddy section).
xcaddy build --with github.com/darkweak/souin/plugins/caddy --with github.com/darkweak/storages/go-redis/caddy
You will be able to use redis in your Caddyfile or JSON configuration file.
{
cache {
ttl 1h
redis {
configuration {
Addrs 127.0.0.1:6379
DB 1
}
}
}
}
route {
cache {
redis {
url 192.168.1.2:6379
}
}
respond "Hello HTTP cache"
}
Configuration
You can find the configuration for Redis here or check the values table below.
Values
Key name | type | required |
---|---|---|
Addrs | []string | ✅ |
DB | int | ❌ |
MaxActiveConns | int | ❌ |
MaxIdleConns | int | ❌ |
MaxRedirects | int | ❌ |
MaxRetries | int | ❌ |
MinIdleConns | int | ❌ |
PoolSize | int | ❌ |
Protocol | int | ❌ |
ClientName | string | ❌ |
IdentitySuffix | string | ❌ |
MasterName | string | ❌ |
Password | string | ❌ |
SentinelUsername | string | ❌ |
SentinelPassword | string | ❌ |
Username | string | ❌ |
ContextTimeoutEnabled | bool | ❌ |
DisableIndentity | bool | ❌ |
PoolFIFO | bool | ❌ |
ReadOnly | bool | ❌ |
RouteByLatency | bool | ❌ |
RouteRandomly | bool | ❌ |
ConnMaxIdleTime | Duration | ❌ |
ConnMaxLifetime | Duration | ❌ |
DialTimeout | Duration | ❌ |
MaxRetryBackoff | Duration | ❌ |
MinRetryBackoff | Duration | ❌ |
PoolTimeout | Duration | ❌ |
ReadTimeout | Duration | ❌ |
WriteTimeout | Duration | ❌ |