2010-03-26 37 views
8

Có ai tham gia SQLAlchemy và Memcached với nhau để kết quả trả về bởi SQLAlchemy nơi lưu trữ trong Memcached? Tại thời điểm này tôi không có ý tưởng làm thế nào để thực hiện nó bản thân mình, tôi hoàn toàn bị mất và tìm kiếm sự giúp đỡ.Làm thế nào để làm cho SQLAlchemy sử dụng Memcached?

Cảm ơn, Boda Cydo.

Trả lời

-4

Cơ sở dữ liệu bộ nhớ và cơ sở dữ liệu quan hệ là hai điều riêng biệt, không hoạt động theo cùng một cách. Memcache là một nhóm tra cứu đơn giản, hữu ích cho việc xóa các đốm màu như một phần trang web được chia sẻ giữa nhiều yêu cầu và mất nhiều thời gian để tạo ra (khi bạn không thể tối ưu hóa/denormalise lược đồ cơ sở dữ liệu của bạn một cách hợp lý) sản xuất). Bạn không nên sử dụng memcache như kho lưu trữ dữ liệu phụ trợ đầy đủ và sẽ không hữu ích khi trình bày giao diện SQL đi tới memcache hoặc cơ sở dữ liệu: bạn sẽ gặp phải điều tồi tệ nhất của cả hai thế giới, mà không cần phải sử dụng memcache. hoặc đơn giản/tốc độ của memcache hoặc tuân thủ ACID của cơ sở dữ liệu quan hệ.

Máy chủ cơ sở dữ liệu của bạn đã có bộ nhớ cache. Nếu bạn muốn nó lưu vào bộ nhớ cache nhiều hơn, hãy biến kích thước của bộ nhớ đệm đó lên cao nhất có thể mà không cần phải đi đến phần cứng ngớ ngẩn. Sử dụng memcache để làm cho front-end nhanh hơn - nhưng chỉ khi bạn thực sự không thể có được hiệu năng bạn muốn trong cơ sở dữ liệu, bởi vì nó đòi hỏi bạn phải thỏa hiệp về tính nhất quán của dữ liệu. Đừng dùng đến memcache cho đến khi bạn thực sự cần.

+4

không thể không đồng ý nhiều hơn. tải các hàng qua mạng, chuyển đổi thành cấu trúc bên trong, hiển thị một trang. Tất cả các quy trình đắt tiền không thể được cải thiện bởi cơ sở dữ liệu nhanh hơn. Hầu hết các ứng dụng web không tầm thường sử dụng bất kỳ loại hệ thống từ xa nào để tải dữ liệu nên giả sử sử dụng bộ nhớ cache như Memcached theo mặc định. Nó không chỉ là về bộ nhớ đệm kết quả, đó chỉ là một khía cạnh của bộ nhớ đệm. – zzzeek

+3

Và ngay cả kết quả thiết lập bộ nhớ đệm là cực kỳ có liên quan. Bạn có thể có một vài truy vấn nhất thiết phải chậm (nói chung, tổng hợp độ lệch chuẩn của một số giá trị trên toàn bộ bảng lớn) và chỉ cần vài lần một ngày. Bạn có thể thử mở rộng cơ sở dữ liệu của mình thành phần cứng khổng lồ chỉ với một truy vấn này hoặc bạn có thể đưa nó vào bộ nhớ cache miễn phí. – zzzeek

+1

@zzzeek Bạn đang phát hiện. Các câu nói bắt đầu bằng "Không phải là một ý kiến ​​hay ..." sẽ được viết tốt hơn là "Trong hữu hạn của tôi - và vì thế hạn chế - kinh nghiệm, nó không phải là một ý hay ..." –

9

Xem beaker caching example trong nguồn SQLAlchemy để xem cách bạn có thể tích hợp bộ nhớ đệm vào ứng dụng SQLAlchemy. Cốc có thể sử dụng Memcached làm kho lưu trữ cache.

+0

Liên kết chết. Trong mọi trường hợp, Beaker dường như đã được thay thế bởi dogpile.cache: http://techspot.zzzeek.org/2012/04/19/using-beaker-for-caching-why-you-ll-want-to-switch- to-dogpile.cache / –

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