PDA

View Full Version : Cách thức Cache trang web như thế nào?



snoob_clo4
04-07-2010, 19:14
Hic, em đang phân vân ko biết cache trong php (ví dụ cái Caching của CodeIgniter)làm việc như thế nào, theo em hiểu đại khái là nó lưu kết quả query vào 1 file rùi khi có ai yêu cầu nó load cái file đó ra lại, khi hết hạn thì del cái file đó, nhưng ví dụ nếu ta có 1 trang show_thread chẳng hạn, nếu có thêm 1 thread thì nó sẽ như thế nào nhỉ :huh:
--------Hình như cúp điện hay sao mà ko ai vào đây trả lời em hết dạ ? :blink:

xcode
04-07-2010, 20:10
thì nó update lên :D

ducuytran
04-07-2010, 20:34
Chưa chắc, vì cache của CI dựa vào timeout, khi nào expires thì nó mới refresh (update) cache.

"Caching can be enabled on a per-page basis, and you can set the length of time that a page should remain cached before being refreshed. When a page is loaded for the first time, the cache file will be written to your system/cache folder. On subsequent page loads the cache file will be retrieved and sent to the requesting user's browser. If it has expired, it will be deleted and refreshed before being sent to the browser."

[=========> Bổ sung bài viết <=========]

Còn trường hợp của snoob_clo4 thì bạn nên thử database caching của CI.
http://codeigniter.com/user_guide/database/caching.html
"Deletes the cache files associated with a particular page. This is useful if you need to clear caching after you update your database."

vnntech.com
04-07-2010, 21:10
có 2 loại cache
1. mem cache
Memcache thì cần server có memory khủng
tham khảo
http://pecl.php.net/package/memcache
2. cache file
Dùng Zend framework trong đó nó có mode cache, hoặc dùng Template smarty nó support cache rất good.

Bác nghiên cứu thử đi không hiểu bác post lên anh em chỉ cho bác.

snoob_clo4
05-07-2010, 11:55
Thanks mí bác em hiểu rùi

BnoL
06-07-2010, 21:23
Có rất nhiều loại cache chứ k phải 2 loại :D

chesterben
07-07-2010, 02:33
Phổ biến có vài loại cache như sau:
1. Memory (như memcached dùng ở fb hay youtube)
2. Database (tùy vào ngôn ngữ hoặc fx mà bạn dùng)
3. Static files (có thể dùng .htaccess)
4. Module (trong trường hợp site có sự phân chia rõ ràng giữa các module)

snoob_clo4
07-07-2010, 16:52
Em có câu hỏi thế nào, em định cache 1 query từ mysql rùi dùng serialize sao đó lưu nó vào 1 file, vấn đề là làm sao để người ta ko đọc được cái file đó nhỉ + mấy cái Framework làm sao để bảo mật cache file

xcode
07-07-2010, 16:56
Lưu vào một chỗ riêng thì đâu có ai biết:D

snoob_clo4
07-07-2010, 17:22
Lưu vào một chỗ riêng thì đâu có ai biết:D
Ec, bác trả lời đàng hoàng giùm em đi mà :bored:, giấu nó thì nói làm gì :emlaugh:. À, em thấy 1 số mã nguồn cache nó đặt tên file theo random, thế nếu muốn dùng file cache đó thì làm sao mà biết tên nó mà đọc

zmt264
07-07-2010, 17:25
Thanks mí bác em hiểu rùi

có vẻ thông minh nhưng English kém :D

snoob_clo4
07-07-2010, 17:32
có vẻ thông minh nhưng English kém :D
Lại thêm 1 ông vào spam :buck:

khonggiannet
07-07-2010, 18:21
Ec, bác trả lời đàng hoàng giùm em đi mà :bored:, giấu nó thì nói làm gì :emlaugh:. À, em thấy 1 số mã nguồn cache nó đặt tên file theo random, thế nếu muốn dùng file cache đó thì làm sao mà biết tên nó mà đọc

Không có gì là ngẫu nhiên cả. Nó dùng các hàm encode để đặt tên file, ví dụ base64_encode, md5 ... đại loại vậy.

snoob_clo4
07-07-2010, 18:44
Không có gì là ngẫu nhiên cả. Nó dùng các hàm encode để đặt tên file, ví dụ base64_encode, md5 ... đại loại vậy.
Ví dụ thế này đi, 1 bác biết mã nguồn của mình, thì củng có thể suy ra tên file cache vậy bác, :noexpress

honnhienh
08-07-2010, 10:13
mấy bác viết comment thực sự hông hiểu lắm về nó. Bác nào có tài liệu hog cho xin đọc với.

kiem_bo
08-07-2010, 11:21
mấy bác viết comment thực sự hông hiểu lắm về nó. Bác nào có tài liệu hog cho xin đọc với.

nếu bạn nói như trên thì bạn đã hiểu rõ về cache rồi.Vì bạn hiểu rõ về cache cho nên bạn mới biết mọi người comment ko hiểu gì về cache.Vậy thì bạn xin tài liệu về nó làm gì nữa

khonggiannet
08-07-2010, 15:58
mấy bác viết comment thực sự hông hiểu lắm về nó. Bác nào có tài liệu hog cho xin đọc với.

Bác này là đại cao thủ về caching rồi.

kuangnd
08-07-2010, 16:21
choxe.net hiện cũng đang sử dụng memcache, nếu không có chắc load không nổi luôn vì query nhiều quá.

honnhienh
08-07-2010, 23:43
ac ac. biết về cache thì xin các bác document làm gì chứ. cái này quan trong trong wweb lắm mà. nghiên cứu hoài mà chẳng hiểu được bao nhiều. vớt vát mỗi lơi một ít không được ộn lắm. lên muốn xin bác nào đó rành về cái này có document đọc để hiểu rõ và làm tốt về nó.

BnoL
10-07-2010, 02:03
1/ Nếu như người ta có biết được file cache thì cũng đâu có sao? (trong trường hợp cache file) Bạn cần gì phải giấu nó đi nhỉ? Mà chắc cũng k ai rãnh rỗi ngồi mò mấy cái file cache làm gì :)
2/ Trong trường hợp bạn thực sự muốn giấu nó đi vì 1 mục đích gì đó thì cứ wăng file cache ra ngoài public_html là xong. Người khác đâu cách nào access đc vào file đó (trừ khi hack server của bạn :D)