1. Giới thiệu:
Hiện nay, với vấn đề lượng truy cập website rất lớn dẫn đến Máy chủ website không đủ tài nguyên (truy xuất database, CPU) để đáp ứng lượng truy cập đó nên dẫn đến tốc độ truy cập website chậm hoặc không đáp ứng được.
Một giải pháp nhằm giúp tăng khả năng đáp ứng cho lượng truy cập lớn đến website đó là sử dụng Memcached. Memcached là một giải pháp giảm tải Máy chủ bằng cách lưu trữ đối tượng bất kỳ được truy cập thường xuyên vào RAM nên giảm tải cho Database.
2. Sơ đồ hoạt động của memcached:
2. Sơ đồ hoạt động của memcached:
Sơ đồ hoạt động của Memcached.
Sau khi có Memcached, lần đầu user truy cập vào database thì Server sẽ trả lại một kết quả cho user như thông thường và kèm theo là trả một dữ liệu vào server memcached. Lần sau khi user truy cập nó sẽ không yêu cầu server làm việc này nữa thay vào đó nó sẽ đưa dữ liệu từ server 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.
Sau khi có Memcached, lần đầu user truy cập vào database thì Server sẽ trả lại một kết quả cho user như thông thường và kèm theo là trả một dữ liệu vào server memcached. Lần sau khi user truy cập nó sẽ không yêu cầu server làm việc này nữa thay vào đó nó sẽ đưa dữ liệu từ server 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.
3. Sử dụng memcached:
Ngôn ngữ lập trình PHP là một ngôn ngữ rất thông dụng dùng để lập trình web. Ngoài việc đã cài đặt Memcached, để PHP hoạt động được với Memcached thì cần phải cài đặt thêm extension, có hai extension được sử dụng hiện nay: memcache và memcached (cùng tên với dịch vụ Memcached).
Ngôn ngữ lập trình PHP là một ngôn ngữ rất thông dụng dùng để lập trình web. Ngoài việc đã cài đặt Memcached, để PHP hoạt động được với Memcached thì cần phải cài đặt thêm extension, có hai extension được sử dụng hiện nay: memcache và memcached (cùng tên với dịch vụ Memcached).
- Memcache: được ra đời sớm hơn Memcached, cung cấp các thủ tục (procedural) và giao diện hướng đối tượng đến Memcached, thực hiện caching hiệu quả cao, ổn định, sửa nhiều lỗi bảo mật. Tuy nhiên, nó không hỗ trợ nhiều tính năng mới của dịch vụ Memcached.
- Memcached: được ra đời muộn hơn Memcache, sử dụng thư viện libmemcached để cung cấp API cho việc giao tiếp với dịch vụ Memcached, cung cấp nhiều thuộc tính mới, được đánh giá nhanh hơn memcache. Tuy nhiên, vẫn còn nhiều lỗi bảo mật chưa được sửa.
- Memcached: được ra đời muộn hơn Memcache, sử dụng thư viện libmemcached để cung cấp API cho việc giao tiếp với dịch vụ Memcached, cung cấp nhiều thuộc tính mới, được đánh giá nhanh hơn memcache. Tuy nhiên, vẫn còn nhiều lỗi bảo mật chưa được sửa.