11/09/2018, 16:28

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

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 Request đầu tiên: truy cập vào CSDL thì server sẽ trả lại kết quả cho ...

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 :

screen-shot-2016-12-16-at-10-41-50-am

  • Sơ đồ hoạt động memcache
    • 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.
  • 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 :
    • Ở 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.
    • Ở 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.
    • Các thể cài đặt trên môi trường: Windows, Linux
  • Nhược điểm :
    • 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).
    • Muốn dùng thì phải cài memcached vào máy chủ.
    • 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ả

screen-shot-2016-12-16-at-10-43-04-am

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

screen-shot-2016-12-16-at-10-43-26-am

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

  • IIS Cache
  • Memory Cache
  • Redis
  • Disk
  • NCache
  • Sqlcachedependency
  • …..

Techtalk via Kipalog

0