2009-06-29 33 views
6

Tôi muốn sử dụng cache trong CakePHP. Làm thế nào để tôi sử dụng nó?Tôi làm cách nào để sử dụng bộ nhớ cache trong CakePHP?

+3

Khi tôi lần đầu tiên thấy điều này, tôi đã đọc nhầm tiêu đề là "Làm thế nào để bạn sử dụng bánh trong bánh" :) –

+5

lời khuyên tốt nhất khi yêu cầu một ge Câu hỏi như thế này là đọc tài liệu trước, sau đó nếu bạn vẫn gặp khó khăn trong việc hiểu, hãy nêu rõ những gì bạn không hiểu hoặc mẫu mã ứng dụng của bạn không hoạt động như mong đợi, nếu không bạn sẽ chỉ nhận được liên kết đến thủ công. – cp3

Trả lời

3

Trong tài liệu bộ nhớ cache của cuốn cẩm nang (1.2): http://book.cakephp.org/view/213/Cache

tôi sẽ được khuyến cáo khắc phục rằng bạn vô hiệu hóa bộ nhớ đệm trong khi phát triển; bạn sẽ tìm thấy (hy vọng không phải là cách khó khăn, như tôi) mà các mô hình và quan điểm của bạn không thay đổi như mong đợi.

+0

Cần lưu ý rằng nếu bạn phải/muốn sử dụng bộ nhớ đệm trong quá trình phát triển, bạn có thể xóa bộ nhớ cache khỏi bộ điều khiển của mình: Cache :: clear() (xem "7.2.6 Xoá bộ nhớ cache" trong hướng dẫn). – gravyface

0

Kiểm tra tệp /app/config/core.php.

6
if(!($cachedPosts = Cache::read('cached_posts'))) { 
    $cachedPosts = $this->Post->find('all'); 
    Cache::write('cached_posts', $cachedPosts); 
} 

Trong ví dụ mã này, bạn xem liệu bạn có lưu trữ dữ liệu hay không - nếu không, hãy lấy dữ liệu từ cơ sở dữ liệu và ghi vào bộ nhớ cache. Trong yêu cầu tiếp theo, dữ liệu sẽ đến từ bộ đệm, không phải từ cơ sở dữ liệu.

2

Trước khi sử dụng bộ nhớ cache, chúng tôi phải kiểm tra bộ nhớ cache được kích hoạt hoặc disabaled trong

app/config/core.php.

chúng ta phải bỏ ghi chú dòng này trong core.php

//Configure::write('Cache.disable', true); 

Sau đó chúng tôi sử dụng

$varible = Cache::read('variable'); 
Cache::write('posts', $posts); 
Cache::delete(); 
0

CakePHP cung cấp bởi tập tin mặc định bộ nhớ đệm dựa ở mức mô hình cũng ...

sau đó cũng để duy trì bộ nhớ đệm thủ công cho bất kỳ ứng dụng nào bạn có thể sử dụng

Cache::set(array('duration' => '+100 days')); 
Cache::write(file_path); 

chức năng loại để duy trì tập tin dựa bộ nhớ cache

Đối với memcache hoặc bất kỳ khái niệm khác mà bạn có thể mất các liên kết sau đây để tham khảo:

Các vấn đề liên quan