Hỗ trợ Cache

Đối với các cài đặt XenForo lớn, có thể thuận lợi để xác định cache để tiết kiệm thời gian xử lý và truy vấn cơ sở dữ liệu.

XenForo có khả năng lưu trữ và truy xuất dữ liệu khác nhau từ bộ nhớ cache, có thể được cấu hình trong tệp library/config.php.

Các loại bộ nhớ cache mẫu

Bộ nhớ cache XenForo là một thực hiện các front-end Zend_Cache_Core, và phần mở rộng của Zend_Cache_Backend cho back-end.

Cache front-end

Định cấu hình giao diện người dùng rất dễ dàng và chỉ cần thêm các dòng sau vào tệp library/config.php:

$config['cache']['enabled'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions']['cache_id_prefix'] = 'xf_';

Bạn có thể thay đổi giá trị cache_id_prefix để phù hợp với nhu cầu của riêng bạn. Người dùng nâng cao có thể thay đổi tùy chọn front-end Zend_Cache_Core để phù hợp với nhu cầu của họ.

Nếu bạn muốn đọc và viết các phiên XenForo vào bộ nhớ cache, hãy thêm dòng sau vào tệp library/config.php:

$config['cache']['cacheSessions'] = true;

Lưu ý rằng bộ nhớ cache của bạn phải có đủ dung lượng để giữ phiên hoặc người dùng có thể không đăng nhập được. Chúng tôi không khuyên bạn nên viết phiên vào bộ nhớ cache nếu bạn đang sử dụng APC làm bộ nhớ cache back-end của mình.

File back-end

Sau đây là một vài ví dụ về các bộ nhớ cache back-end có thể sử dụng được bởi XenForo.

Loại cache back-end đơn giản nhất là tệp lưu trữ bộ nhớ đơn giản, lưu trữ dữ liệu bộ nhớ cache dưới dạng tệp trong thư mục tạm thời của máy chủ của bạn.

Cấu hình đơn giản như nhau:

$config['cache']['backend'] = 'File';

Danh sách đầy đủ các tùy chọn bộ nhớ cache của tệp.

APC back-end

Nếu bạn có APC (Bộ nhớ cache PHP thay thế) được cài đặt trên máy chủ của bạn, bạn có thể sử dụng nó để lưu trữ dữ liệu bộ nhớ cache.

Lưu ý rằng một số phiên bản của APC có thể dễ bị vấn đề cache-slam, vì vậy nếu bạn kích hoạt bộ nhớ đệm APC của dữ liệu (ngoài PHP opcode bộ nhớ cache tự động duy trì mà không yêu cầu bất kỳ cấu hình nào), bạn nên theo dõi cẩn thận máy chủ của mình trong một thời gian để đảm bảo rằng máy chủ hoạt động trơn tru.

$config['cache']['backend'] = 'Apc';

Danh sách đầy đủ các tùy chọn bộ nhớ cache APC.

Memcached back-end

Memcached là một cơ chế lưu trữ nâng cao cho dữ liệu được chia sẻ và có thể được sử dụng làm back-end cho bộ nhớ cache của XenForo.

Nó đòi hỏi cấu hình nhiều hơn một chút so với một số back-end đơn giản hơn, ví dụ:

$config\['cache'\]\['backend'\] = 'Memcached';
$config\['cache'\]\['backendOptions'\] = array(
    'compression' => false,
    'servers' => array(
        array(
            // your memcached server IP /address
            'host' => 'localhost',

            // memcached port
            'port' => 11211,
        )
    )
);

Danh sách đầy đủ các tùy chọn bộ nhớ cache memcached.