2010-08-02 29 views
8

Tôi đang tạo CMS tùy chỉnh bằng PHP (viết từ đầu) và muốn biết liệu tôi có nên lưu trữ trang do người dùng tạo dưới dạng tệp hoặc trong cơ sở dữ liệu MySQL hay không.CMS: lưu trữ các trang tùy chỉnh dưới dạng tệp hoặc trong cơ sở dữ liệu MySQL?

Nội dung là tất cả mã HTML, ít nhất là bây giờ.

Tôi không thể quyết định làm gì khi ghi tệp bằng php có vẻ như rủi ro bảo mật và truy xuất nội dung tệp từ MySQL trên mỗi lần tải trang cảm thấy sai (và có thể là vấn đề hiệu suất?).

Tôi cũng có các trang tùy chỉnh được mã hóa bởi tôi cho blog, v.v. Chúng chứa mã PHP nhưng không cần phải được người dùng sửa đổi. Hiện tại tôi đang lên kế hoạch lưu trữ những tệp này dưới dạng tệp php vì dễ dàng tải chúng lên và chỉnh sửa chúng như vậy, nhưng chúng cũng có thể được lưu trữ trong MySQL.

Tôi rất cảm kích sự giúp đỡ của bạn về những điều cần làm là, hoặc ít nhất bạn sẽ làm gì.

+1

MySQL rất nhanh. Các CMS thường không lưu trữ toàn bộ các trang trong cơ sở dữ liệu. Họ lưu trữ trang * nội dung *, có nghĩa là những thứ như mẫu và CSS vẫn được lưu trữ dưới dạng tệp. PHP khâu các phần khác nhau lại với nhau khi người dùng muốn xem một trang. Bạn sẽ phải đẩy hàng trăm nghìn hoặc hàng triệu lượt xem mỗi ngày thông qua MySQL trước khi bạn thấy các vấn đề về hiệu suất (miễn là bạn có thiết kế tốt và tối ưu hóa cơ bản). – cbednarski

Trả lời

11

Bạn muốn lưu trữ nội dung tốt hơn trong cơ sở dữ liệu. Lưu ý rằng bạn lưu trữ nội dung, không phải toàn bộ trang HTML (nếu không, bạn không thực sự xây dựng một hệ thống quản lý nội dung).

Nếu bạn triển khai tệp bằng cách sử dụng tệp đơn giản thì bạn phải phát minh định dạng tệp để lưu trữ dữ liệu có cấu trúc của mình, bạn phải tìm hiểu cách làm nhanh, lo lắng về tính toàn vẹn dữ liệu và điều kiện chủng tộc hơn. Với một cơ sở dữ liệu bạn có được tất cả những điều này đã được thực hiện cho bạn và nó được thực hiện tốt và nhanh chóng.

Việc truy vấn cơ sở dữ liệu trên mỗi lần xem trang khá bình thường; thực sự nó là điển hình cho các ứng dụng web để làm nhiều hơn 5 và lên đến 30 truy vấn cơ sở dữ liệu trên mỗi lần xem trang, và tôi đoán rằng stackoverflow.com có ​​thể sẽ phù hợp với phạm vi đó.

MySQL đủ nhanh.

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