2012-12-25 34 views
14

Tôi muốn sử dụng bộ nhớ đệm trong ứng dụng web của mình, cũng sẽ có thể mở rộng và phân phối.Hibernate EHCache và MemCache

Tôi đã sử dụng EHCache và MemCache cả trong ứng dụng web nhỏ nhỏ một cách riêng biệt.

Đã googled và có đánh giá hỗn hợp về cả hai, do đó muốn nhận được một số trợ giúp và các tính năng mạnh mẽ của mỗi, vì vậy tôi có thể quyết định khung nào phù hợp cho ứng dụng web của tôi.

Hãy cho tôi biết nếu cần thêm chi tiết.

Cảm ơn !!

Trả lời

14

EHCache rất dễ tích hợp với các ứng dụng Hibernate (các ứng dụng web sử dụng Hibernate làm chương trình phụ trợ ORM). Bạn cũng có thể nhập nó dưới dạng một tạo phẩm riêng biệt và thực hiện các công cụ theo cách có lập trình, như thêm dữ liệu vào bộ nhớ đệm có tên với khoảng thời gian hết hạn đã xác định hoặc số lượng đối tượng hoặc kích thước tối đa.

Memcached không dễ dàng tích hợp với các ứng dụng ngủ đông nhưng về bản chất cung cấp gần như cùng một API cho truy cập có lập trình như EHCache.

Theo như hiệu suất hoạt động, kết quả cũng sẽ khác nhau tùy thuộc vào kiến ​​trúc và cách sử dụng bộ nhớ cache.

Kết luận, khi chọn bộ nhớ cache, nếu bạn đang sử dụng theo cách tiêu chuẩn, đó chỉ là vấn đề ưu tiên mà bạn sẽ chọn bộ nhớ cache. Cá nhân tôi, sẽ chọn EHCache vì tôi có nhiều kinh nghiệm hơn với nó.

Có một bộ nhớ đệm được phân phối bởi JBoss (như trong bộ nhớ cache được chia sẻ bởi một cụm máy), nơi đồng bộ được xử lý nội bộ và API rất giống với EHCache. Nó được gọi là Infinispan và cũng tương đối dễ dàng để thiết lập và sử dụng.

EDIT:

Như một tính năng mạnh mẽ của EHCache, tôi sẽ liệt kê sự tích hợp liền mạch như một bộ nhớ cache thứ hai cấp cho Hibernate. Ngoài ra, cấu hình bộ nhớ đệm theo cách lập trình rất dễ dàng và Java-esque.

Có thể bạn nên tham khảo điều này để so sánh hiệu suất. Hãy ghi nhớ nó cổ xưa, vì vậy có lẽ không phải là rất cập nhật. http://gregluck.com/blog/archives/2007/05/comparing-memcached-and-ehcache-performance/

+1

Bạn có thể chia sẻ kinh nghiệm sử dụng EHCache và MemCached với các ứng dụng có thể mở rộng với phân cụm không? –

+1

Tôi chỉ sử dụng EHCache trong một cụm ảo Rackspace. Điều quan trọng cần lưu ý ở đây là bộ nhớ cache không được chia sẻ. Mỗi máy có bộ nhớ cache riêng. Nếu điều này là tốt cho kiến ​​trúc của bạn, sau đó sử dụng hoặc Memcached hoặc EHcache. Tôi đã sử dụng Memcached chỉ cho những dự án nhỏ nên tôi không có kiến ​​thức hay kinh nghiệm sâu sắc về nó, nhưng nó có vẻ khá giống nhau. –

+0

âm thanh tốt, cảm ơn !! –