Redis
由於我有多個站,又希望他們互不干擾,我採用docker的方做配置
version: '3'
services:
redis-site1:
image: redis:latest
command: redis-server --requirepass your_password1 --port 6379
ports:
- "6384:6379"
volumes:
- redis-data-site1:/data
redis-site2:
image: redis:latest
command: redis-server --requirepass your_password2 --port 6379
ports:
- "6380:6379"
volumes:
- redis-data-site2:/data
redis-site3:
image: redis:latest
command: redis-server --requirepass your_password3 --port 6379
ports:
- "6381:6379"
volumes:
- redis-data-site3:/data
redis-site4:
image: redis:latest
command: redis-server --requirepass your_password4 --port 6379
ports:
- "6382:6379"
volumes:
- redis-data-site4:/data
redis-site5:
image: redis:latest
command: redis-server --requirepass your_password5 --port 6379
ports:
- "6383:6379"
volumes:
- redis-data-site5:/data
volumes:
redis-data-site1:
redis-data-site2:
redis-data-site3:
redis-data-site4:
redis-data-site5:
啟用後,就可以在 drupal 安裝及啟用Redis
Redis啟用後,需手動做設定
cp modules/contrib/redis/example.services.yml sites/default/services.yml
vi sites/default/settings.php
// Redis 配置
$settings['redis.connection']['interface'] = 'PhpRedis';
$settings['redis.connection']['host'] = 'localhost';
$settings['redis.connection']['port'] = 6383;
$settings['redis.connection']['password'] = 'your_password5'; // 這裡填你的 Redis 密碼
$settings['redis.connection']['persistent'] = TRUE;
$settings['cache']['default'] = 'cache.backend.redis';
$settings['container_yamls'][] = 'sites/default/services.yml';
// 設定快取 bin
$settings['cache']['bins']['default'] = 'cache.backend.redis';
$settings['cache']['bins']['form'] = 'cache.backend.database'; // 表單快取不建議用 Redis
// 啟用 fast cache
$settings['cache']['bins']['render'] = 'cache.backend.redis';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.redis';
$settings['cache']['bins']['page'] = 'cache.backend.redis';
Docker配置5個獨立的容器,其餘的站可以照作