Memcached là gì? Đó là một hệ thống lưu trữ bản sao các đối tượng và dữ liệu được truy cập nhiều lần với mục đích tăng tốc độ truy xuất thông tin. Bằng cách truy vấn cơ sở dữ liệu bộ nhớ đệm, nội dung hoặc là kết quả tính toán khác. Giao thức này cho phép các máy chủ được truy vấn thông tin về các key value stores và không có chứng thực yêu cầu với memcached. Để hiểu rõ hơn về khái niệm này, cùng khám phá bài viết dưới đây nhé!
Memcached là gì?
Hiểu đơn giản Memcached là một ứng dụng Linux, tuy nhiên do Memcached là mã nguồn mở nên chúng đã được các nhà lập trình phát triển cho nền tảng Windows sử dụng. Hệ thống này có các ưu điểm nổi trội thu hút rất nhiều người sử dụng phổ biến hiện nay, cụ thể như:
Memcached cũng là một cache giống như những bộ cache trên, nó là một dịch vụ độc lập hoàn toàn như MySQL.
Memcached cung cấp cho người dùng khả năng lưu trữ đối tượng bất kỳ vào bên trong bộ nhớ RAM.
Memcached là một NoSQL được thiết kế với hiệu năng làm việc rất cao. Chúng hoạt động theo phương thức distrubuted memory object caching.
Memcached được tích hợp có tác dụng giảm tải cơ sở dữ liệu (database) cho ứng dụng, website và tối ưu tốc độ website của người dùng.
Ưu – nhược điểm của Memcache
Ưu điểm
Ở mức nhỏ, mọi người thường sử dụng Memcached để làm nơi lưu trữ dữ liệu dùng để chia sẻ và thường là lưu session. Điều này vô cùng tiện lợi trong các kiểu loadbalancing đơn giản như là: nginx hay pound. Lúc này các bạn không phải quá lo lắng tới vấn đề persistence session.
Ở mức độ lớn hơn một chút, mọi người sử dụng Memcached để giảm thiểu read từ db cho các dữ liệu ít thay đổi và cần phải tính toán nhiều. Chúng còn được dùng để xử lý query phức tạp và tiêu tốn tài nguyên.
Ở mức độ cao hơn nữa, người ta thường sử dụng Memcached để shard db (chia nhỏ db theo row tức là theo chiều ngang). Tuy nhiên hiệu năng làm việc của nó vẫn còn gây tranh cãi khi so sánh với việc partition db.
Hơn nữa, các thể của Memcached còn được cài đặt trên cả hệ điều hành Windows và Linux.
Nhược điểm
Memcached không có cơ chế thẩm định mức độ chính xác của thông tin dữ liệu lưu trong nó. Điều này có thể thấy được cấu trúc hệ thống không có bất cứ sự liên hệ nào với db mà nằm hoàn toàn độc lập.
Muốn sử dụng hệ thống này thì phải thuê máy chủ và cài Memcached vào máy chủ.
Chưa đồng bộ tự động với cơ sở dữ liệu khi database thay đổi. Cụ thể như việc Database có dữ liệu là A và Memcached cũng có dữ liệu như vậy. Lúc này database sẽ đổi sang giá trị B nhưng Memcached vẫn là A.
Viết trực tiếp vào memcached, sau một thời gian nó sẽ chuyên vào db gặp khá nhiều nguy hiểm, điển hình như việc không kịp viết từ memcached vào db mà server memcached đã tèo. Do đó không nên sử dụng memcached cho các dữ liệu mang tính critical.
Hướng dẫn cài đặt và sử dụng Memcached trong Windows
Cách cài đặt Memcache đơn giản
Tải phiên bản Memcached:memcached-win32-1.4.4-14.zip
Unzip và copy vào thư mục nào đấy bên trong ổ cứng chẳng hạn như C:\memcached.
Tiến hành mở command line vào thư mục chứa memcached và gõ memcached.exe -d install.
Để start memcached server, hãy gõ memcached.exe -d start
Như mặc định thì cổng port của memcached server đó là 11211
Như vậy là bạn đã hoàn tất xong quá trình cài đặt.
Sử dụng Memcache cơ bản nhất
Ngôn ngữ lập trình PHP là một trong các ngôn ngữ vô cùng thông dụng được sử dụng để lập trình web. Bên cạnh việc cài đặt Memcached để ngôn ngữ này hoạt động được với Memcached thì cần phải cài đặt thêm extension. Hiện nay có 2 extension được sử dụng phổ biến hiện nay đó là memcache và memcached (cùng với tên của dịch vụ Memcached).
Memcache được ra đời sớm hơn Memcached, dịch vụ này cung cấp các thủ tục và giao diện hướng đối tượng tới Memcached. Memcache thực hiện caching hiệu quả cao, ổn định và sửa rất nhiều lỗi bảo mật. Tuy nhiên dịch vụ này không hỗ trợ nhiều tính năng mới của dịch vụ Memcached nhưng vẫn được nhiều người lựa chọn sử dụng cho tới ngày nay.
Memcached ra đời muộn hơn Memcache và chúng sử dụng thư viện libmemcached để cung cấp API cho quá trình giao tiếp với dịch vụ libmemcached. Chúng cung cấp nhiều thuộc tính mới và được đánh giá là nhanh hơn Memcache. Tuy nhiên dịch vụ vẫn còn nhiều lỗi bảo mật chưa được sửa nên việc sử dụng chúng còn khá khó khăn.
Hy vọng với những thông tin trên đây, bạn đọc đã phần nào hiểu rõ Memcache là gì? Memcached là gì và cách thức cài đặt cũng như sử dụng hệ thống này. Nếu như còn thắc mắc bất kỳ điều gì về hệ thống này, đừng quên để lại ý kiến đóng góp cho chúng tôi nhé!
2022-01-09
Mua tên miền .VN tại BKHOST
Giá chỉ từ 750k/năm. Kiểm tra tên miền .VN đẹp và đăng ký ngay hôm nay!
Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.