Memcached là gì? Memcached hoạt động như thế nào?

Memcached là gì? Memcached hoạt động như thế nào?
5/5 - (3 bình chọn)

Memcached là gì? Memcached hoạt động như thế nào? xem hướng dẫn cách cài đặt và sử dụng trong bài viết sau đây.

Memcached là gì?

Memcached là một hệ thống bộ nhớ đệm đối tượng bộ nhớ phân tán, mã nguồn mở, hiệu suất cao, miễn phí. Memcached được sử dụng để tăng tốc các ứng dụng web động bằng cách giảm tải cơ sở dữ liệu. Memcached được sử dụng bởi tất cả các trang web lớn có dữ liệu khổng lồ, chẳng hạn như YouTube, Wikipedia, Twitter, v.v.

Đặc điểm của Memcached là gì?

Memcached ban đầu được phát triển bởi Brad Fitzpatrick từ Danga Interactive cho LiveJournal vào năm 2003. Nó được viết là Perl , nhưng được viết lại bằng C bởi Anatoly Vorobey .

Memcached được sử dụng trong phần mềm bộ nhớ đệm vì nó rất dễ cài đặt trên bất kỳ hệ thống Windows hoặc Unix nào. Nó cung cấp tích hợp API cho tất cả các ngôn ngữ chính như PHP, Java, C / C ++, Python, Ruby, Perl, v.v.

Nó lưu trữ dữ liệu dựa trên các giá trị chính cho các chuỗi hoặc đối tượng nhỏ tùy ý bao gồm:

  • Kết quả của các cuộc gọi cơ sở dữ liệu
  • Lệnh gọi API
  • Kết xuất trang

Các thành phần của Memcached

Memcached được tạo thành từ 4 thành phần chính. Các thành phần này cho phép máy khách và máy chủ làm việc cùng nhau để cung cấp dữ liệu được lưu trong bộ nhớ cache hiệu quả nhất có thể:.

  • Phần mềm Máy khách: Nó được sử dụng để cung cấp danh sách các máy chủ Memcached có sẵn.
  • Thuật toán băm dựa trên máy khách: Nó chọn máy chủ dựa trên khóa.
  • Phần mềm Máy chủ: Nó được sử dụng để lưu trữ các giá trị và khóa của chúng vào một bảng băm bên trong.
  • LRU: LRU là viết tắt của Least Recently Used. Điều này xác định khi nào cần loại bỏ dữ liệu cũ hoặc sử dụng lại bộ nhớ.

Các tính năng của Memcached là gì?

  • Memcached là mã nguồn mở.
  • Memcached có thể mở rộng; chỉ cần thêm hộp với bộ nhớ để dự phòng.
  • Memcached chạy như một dịch vụ độc lập. Vì vậy, nếu bạn gỡ ứng dụng của mình xuống, dữ liệu đã lưu trong bộ nhớ cache sẽ vẫn còn trong bộ nhớ miễn là dịch vụ chạy.
  • Máy chủ Memcached là một bảng băm lớn.
  • Memcached làm giảm tải cơ sở dữ liệu.
  • Memcached rất hiệu quả cho các trang web có tải cơ sở dữ liệu cao.
  • Các nút bộ nhớ cache rất thiếu hiểu biết: có nghĩa là chúng không có kiến ​​thức về các nút khác tham gia. Điều này xử lý việc quản lý và cấu hình của một hệ thống như vậy cực kỳ dễ dàng.
  • Memcached được phân phối theo giấy phép BSD (Berkeley Software Distribution).
  • Memcached là một ứng dụng máy chủ khách qua UDP hoặc TCP.

Memcached hoạt động như thế nào?

Memcached là gì? Memcached hoạt động như thế nào?

Memcached có bốn thành phần chính và những thành phần này là thứ cho phép nó lưu trữ và truy xuất dữ liệu. Mỗi mục bao gồm một khóa, thời gian hết hạn và dữ liệu thô. Ở cấp độ cao, Memcached hoạt động như sau:

Máy khách yêu cầu một phần dữ liệu sau đó Memcached sẽ kiểm tra xem nó có được lưu trong bộ nhớ đệm hay không.

Có thể có hai kết quả có thể xảy ra:

  • Nếu dữ liệu được lưu trong bộ nhớ đệm: trả lại dữ liệu từ Memcached (không cần kiểm tra cơ sở dữ liệu).
  • Dữ liệu không được lưu trữ trong bộ đệm: truy vấn cơ sở dữ liệu, truy xuất dữ liệu và sau đó lưu trữ trong Memcached.

Bất cứ khi nào thông tin được sửa đổi hoặc giá trị hết hạn của một mặt hàng đã hết hạn, Memcached sẽ cập nhật bộ nhớ cache của nó để đảm bảo nội dung mới được gửi đến khách hàng.

Thiết lập này có nhiều máy chủ Memcached khác nhau và nhiều máy khách. Khách hàng sử dụng thuật toán băm để xác định máy chủ lưu trữ đã ghi nhớ để sử dụng. Điều này giúp phân phối tải.

Và sau đó máy chủ tính toán một băm thứ hai của khóa để xác định nơi nó sẽ lưu giá trị tương ứng trong bảng băm nội bộ. Một số điều quan trọng về kiến ​​trúc Memcached là:

  • Dữ liệu chỉ được gửi đến một máy chủ
  • Máy chủ không chia sẻ dữ liệu
  • Máy chủ giữ các giá trị trong RAM – nếu RAM hết giá trị cũ nhất sẽ bị loại bỏ.

Các ứng dụng của Memcached

  • Làm bộ đệm tăng tốc truy cập (cache)
  • Memcached được sử dụng phổ biến nhất cho mục đích tạo bộ đệm trên bộ nhớ trong (in-memory cache) hiệu năng cao, giảm thiểu độ trễ truy cập dữ liệu, tăng lưu lượng và giảm tải cho các hệ thống backend. Nó không chỉ cache các dữ liệu từ cơ sở dữ liệu mà còn các dữ liệu khác như ảnh, video, file,… cần sử dụng thường xuyên trong quá trình hoạt động của server.
  • Lưu trữ dữ liệu phiên hoạt động (session store)
  • Với tính chất lưu trữ dữ liệu không vĩnh viễn (do sử dụng bộ nhớ trong), Memcached tỏ ra phù hợp với các nhà phát triển để lưu trữ và quản lý các dữ liệu có tính chất tạm thời như session, vốn chỉ tồn tại trong thời gian ngắn và không yêu cầu lưu trữ dài hạn giữa các phiên làm việc của người dùng.

Cách cài đặt và sử dụng Memcached trong Windows

  1. Tải file cài đặt Memcached (file zip) 32-bit hoặc 64-bit tại đây.
  2. Giải nén file zip đến thư mục muốn cài đặt trên ổ cứng, ví dụ “C:\memcached”. Trong thư mục giải nén lúc này sẽ chứa file memcached.exe.
  3. Mở cửa sổ Command Prompt với quyền Administrator, gõ “cd C:\memcached” (đường dẫn sau cd có thể khác tùy vào vị trí giải nén bạn chọn) để trỏ đến thư mục chứa file thực thi.
  4. Chạy lệnh “memcached.exe – d install”
  5. Để khởi động Memcached, sử dụng lệnh “memcached.exe -d start”. Để tắt chương trình, chạy lệnh “memcached.exe -d stop”. Mặc định Memcached server hoạt động trên port 11211.
Memcached  là gì? Cách cài đặt và sử dụng Memcached trong Windows

Nhược điểm của Memcached là gì?

  • Không phải là một công cụ chịu lỗi.
  • So với bộ nhớ đệm trong bộ nhớ, nó rất chậm, chủ yếu là do tuần tự hóa hoặc giải mã hóa và độ trễ mạng.
  • Các nút bộ nhớ cache rất thiếu hiểu biết: Ví dụ, không có cách nào để lặp lại tất cả các mục được lưu trong bộ nhớ cache.
  • Không phải là một kho dữ liệu liên tục.

Nguồn: Memcached là gì? Memcached hoạt động như thế nào?

Bài viết này có hữu ích với bạn không?
Không