跳到主內容

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個獨立的容器,其餘的站可以照作