RSSAsp.net MVC

Memcached là gì ? Sử dụng memcached để tăng tốc hệ thống server

Memcached là một hệ thống lưu trữ bản sao các đối tượng (objects) và dữ liệu được truy cập nhiều lần để tăng tốc độc truy xuất. Mục đích chính của nó là để tăng tốc độ ứng dụng web bằng cách truy vấn cơ sở dữ liệu bộ nhớ đệm, nội dung, hoặc kết quả tính toán khác.

Memcached là ban đầu là một ứng dụng Linux, nhưng vì Memcached là mã nguồn mở nên đã được các nhà lập trình phát triển cho nền tảng Windows sử dụng.

Sơ đồ hoạt động :

Sơ đồ hoạt động memcache

  1. Request đầu tiên: truy cập vào CSDL thì server sẽ trả lại kết quả cho
    • User như thông thường hiện nay
    • Và kèm thêm một việc là trả dữ liệu vào memcached.
  2. Các request lần sau:
    • Truy cập nó sẽ không yêu cầu server làm việc nữa thay vào đó nó sẻ đưa từ memcached trả lại cho user
    • Việc đó sẽ giúp giảm thiểu 1 lượng lớn công việc mà server cần làm việc. Giúp website của bạn chạy nhanh hơn khoảng 70%

Ưu điểm :

  1. Ở mức nhỏ người ta thường dùng memcached để làm nơi lưu trữ dữ liệu chia sẻ, thường là lưu session. Cái này rất tiện lợi nhất là trong các kiểu loadbalancing đơn giản như nginx hay pound, khỏi phải lo tới vấn đề persistence session.
  2. Ở mức lớn hơn một chút, người ta dùng memcached để giảm thiểu read từ db, cho những dữ liệu ít thay đổi và cần tính toán, query phức tạp, tốn tài nguyên.
  3. Các thể cài đặt trên môi trường: Windows, Linux

Nhược điểm :

  1. Memcached không có cơ chế thẩm định tính chính xác của dữ liệu lưu trong nó. Điều này có thể thấy quá cấu trúc hệ thống (memcached không có bất cứ sự liên hệ nào với db, mà nằm độc lập).
  2. Muốn dùng thì phải cài memcached vào máy chủ.
  3. Chưa đồng bộ tự động với dữ liệu database khi dữ liệu thay đổi. Ví dụ: Database có dữ liệu là A và Memcached cũng có dữ liệu là A. Lúc database đổi giá trị sang B nhưng memcached vẫn là A. Các bạn có thể tham khảo giảm pháp sử dụng Sqlcachedependency

Cách cài đặt memcached trong Windows.

Download: memcached-win32-1.4.4-14.zip

Unzip và copy vào thư mục nào đấy trong ổ cứng (ví dụ C:\memcached)

Mở command line vào thư mục chứa memcached và gõ memcached.exe -d install

Để start memcached server bạn gõ: memcached.exe -d start

Mặc định thì port của memcached server là 11211

Như vậy là đã xong phần cài đặt.

Sử dụng C# kết nối đến Memcached

sử dụng dll bằng nuget : Install-Package EnyimMemcached -Version 2.13.0

Sử dụng C# kết nối đến Memcached

kết quả

demo Sử dụng C# kết nối đến Memcached

Cách loại Cache khác tương tự Memcached

  1. IIS Cache
  2. Memory Cache
  3. Redis
  4. Disk
  5. NCache
  6. Sqlcachedependency
  7. .....

Bài viết gốc: http://www.mastercode.vn/blog/web-development/memcached-la-gi-su-dung-memcached-de-tang-toc-he-thong-server.5

Tags:

Memcached
Nếu bạn thấy bài viết hữu ích, hãy nhấn +1 và các liên kết chia sẻ để website ngày càng phát triển hơn. Xin cám ơn bạn!

Nếu là khách, bạn phải đăng ký tài khoản và kích hoạt tài khoản để bình luận được hiển thị ở đây.
Thông tin kích hoạt gửi đến mail của bạn.

Tin mới hơn

Tin cũ hơn

Lên trên đầu