21-2-2010 9:23:17
Vấn đề kiểu dữ liệu (datatype)Chúng ta biết rằng các kiểu dữ liệu do chúng ta định nghĩa là
liên thiên. Các kiểu dữ liệu thường thấy của chúng ta là :
- UserInfo (n trường dữ liệu : Fullname, Email, Address ...)
- PostInfo (m trường : Username, PostedDate, ...)
Vấn đề đặt ra là các biến này có lưu được vào Cache không ? Xin thưa là ông Microsft (viết ASP.NET) chẳng hiểu các kiểu dữ liệu mà các bác định nghĩa nó thế nào đâu. Nên cái Cache Provider (default) của Microsoft chỉ thực sự cache các biến kiểu dữ liệu cơ bản (int, float, long, string...), tức là MS Cache default provider sẽ lưu các biến kiểu dữ liệu cơ bản (int, float, long, string...) vào đâu đó trên disk, còn các kiểu dữ liệu UserInfo, PostInfo ... (do bạn định nghĩa) nó bó tay chẳng lưu nổi vào disk đâu. Bởi vì hệ thống đek làm thế nào mà serialize được (cái này dùng để lưu ra disk). Nên kết luận đưa ra là :
Nếu Cache các kiểu dữ liệu do người dùng định nghĩa thì thực tế là không cache.
Tức là không tồn tại mô hình này :
- Data SQL -> Cache -> Html
Nó chỉ thực hiện cái này
- Data SQL -> Html
Cái này em tìm ra do thực nghiệm (debug) tại function connection vào SQL sau khi đã đặt cache, trong mỗi lần load trang, lần nào em cũng thấy cái query vào DB thực hiện, tức là chả cache keo được cái gì nếu chúng ta cố cache Custom Class Definition. Nhục nhục! Nên nếu bác nào cache thì cache các biến cơ bản thôi nhé.
---
http://coder.awas.vnhttp://mobile.awas.vnhttp://vtv.awas.vnhttp://baihatviet.awas.vn