Cache site with Redis
This commit is contained in:
parent
1323ba27a6
commit
32e9ccb413
3 changed files with 62 additions and 9 deletions
37
docker-compose.yaml
Normal file
37
docker-compose.yaml
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
services:
|
||||||
|
# Postgres - Database
|
||||||
|
feedvault_postgres:
|
||||||
|
container_name: feedvault_postgres
|
||||||
|
image: postgres:16
|
||||||
|
user: "1000:1000"
|
||||||
|
ports:
|
||||||
|
- 5434:5432 # Host:Container
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=${PGUSER}
|
||||||
|
- POSTGRES_PASSWORD=${PGPASSWORD}
|
||||||
|
- POSTGRES_DB=${PGDATABASE}
|
||||||
|
volumes:
|
||||||
|
- /mnt/Fourteen/Docker/FeedVault/Postgres:/var/lib/postgresql/data
|
||||||
|
networks:
|
||||||
|
- db
|
||||||
|
redis:
|
||||||
|
container_name: feedvault_redis
|
||||||
|
image: redis:7
|
||||||
|
restart: always
|
||||||
|
user: "1000:1000"
|
||||||
|
ports:
|
||||||
|
- 6380:6379 # Host:Container
|
||||||
|
environment:
|
||||||
|
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||||
|
command: /bin/sh -c 'redis-server --requirepass ${REDIS_PASSWORD} --appendonly yes --maxmemory 4gb --maxmemory-policy allkeys-lru'
|
||||||
|
networks:
|
||||||
|
- redis
|
||||||
|
volumes:
|
||||||
|
- /mnt/Fourteen/Docker/FeedVault/Redis:/data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
db:
|
||||||
|
driver: bridge
|
||||||
|
redis:
|
||||||
|
driver: bridge
|
||||||
|
|
@ -112,7 +112,9 @@ MIDDLEWARE: list[str] = [
|
||||||
"whitenoise.middleware.WhiteNoiseMiddleware",
|
"whitenoise.middleware.WhiteNoiseMiddleware",
|
||||||
"debug_toolbar.middleware.DebugToolbarMiddleware",
|
"debug_toolbar.middleware.DebugToolbarMiddleware",
|
||||||
"django.contrib.sessions.middleware.SessionMiddleware",
|
"django.contrib.sessions.middleware.SessionMiddleware",
|
||||||
|
"django.middleware.cache.UpdateCacheMiddleware",
|
||||||
"django.middleware.common.CommonMiddleware",
|
"django.middleware.common.CommonMiddleware",
|
||||||
|
"django.middleware.cache.FetchFromCacheMiddleware",
|
||||||
"django.middleware.csrf.CsrfViewMiddleware",
|
"django.middleware.csrf.CsrfViewMiddleware",
|
||||||
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
||||||
"django.contrib.messages.middleware.MessageMiddleware",
|
"django.contrib.messages.middleware.MessageMiddleware",
|
||||||
|
|
@ -167,3 +169,17 @@ STORAGES: dict[str, dict[str, str]] = {
|
||||||
|
|
||||||
# Our site ID
|
# Our site ID
|
||||||
SITE_ID = 1
|
SITE_ID = 1
|
||||||
|
|
||||||
|
REDIS_PASSWORD: str = os.getenv(key="REDIS_PASSWORD", default="")
|
||||||
|
REDIS_HOST: str = os.getenv(key="REDIS_HOST", default="192.168.1.2")
|
||||||
|
REDIS_PORT: str = os.getenv(key="REDIS_PORT", default="6379")
|
||||||
|
CACHES: dict[str, dict[str, str]] = {
|
||||||
|
"default": {
|
||||||
|
"BACKEND": "django.core.cache.backends.redis.RedisCache",
|
||||||
|
"LOCATION": f"redis://:{REDIS_PASSWORD}@{REDIS_HOST}:{REDIS_PORT}/0",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
CACHE_MIDDLEWARE_ALIAS = "default"
|
||||||
|
CACHE_MIDDLEWARE_SECONDS = 600 # 10 minutes
|
||||||
|
CACHE_MIDDLEWARE_KEY_PREFIX = "feedvault"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue