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 :
- 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ả
demo Sử dụng C# kết nối đến Memcached
Cách loại Cache khác tương tự Memcached
- IIS Cache
- Memory Cache
- Redis
- Disk
- NCache
- Sqlcachedependency
- …..
Techtalk via Kipalog