Redis cache là gì? Ưu - Nhược điểm của Redis và cách cài đặt

Ngày đăng: 22/11/2024
Tác giả: Nguyễn Thị Thủy
Lượt xem: 100
Theo dõi:

Redis cache là gì? Cùng HostingViet tìm hiểu về khái niệm, ưu, nhược điểm, cách hoạt động, cách cấu hình, cách cài đặt Redis cache và nhiều các thông tin khác liên quan tới nó nhé!

Redis cache là gì

Redis cache là gì?

Redis cache (gọi tắt là Redis) là một mã nguồn mở lưu trữ dữ liệu có cấu trúc trên bộ nhớ RAM. Nó được sử dụng như một cơ sở dữ liệu hoặc một bộ nhớ cache.

Nó hỗ trợ một loạt các cấu trúc dữ liệu như hashes, strings và lists.

Ưu và nhược điểm của Redis cache

Redis cache có những ưu và nhược điểm sau: 

ưu và nhược điểm của Redis cache

Ưu điểm

  • Tăng tốc độ truy xuất dữ liệu: Redis cache lưu trữ các dữ liệu ở trên bộ nhớ chính giúp giảm thời gian truy cập vào ổ đĩa và tăng tốc độ truy xuất các dữ liệu.
  • Hỗ trợ nhiều tính năng bổ sung: Redis cache cung cấp cho bạn nhiều tính năng hữu ích như transactions, publish-subscribe messaging và lua scripting
  • Hỗ trợ cấu trúc dữ liệu phong phú: Ngoài dạng key-value đơn giản, Redis còn hỗ trợ những cấu trúc dữ liệu khác phức tạp hơn như hash, list, sorted set, set và bitmaps

Nhược điểm

  • Bị giới hạn bộ nhớ: Dung lượng bộ nhớ của Redis sẽ bị giới hạn bởi bộ nhớ có sẵn trên hệ thống.
  • Không đảm bảo sự bền vững: Vì Redis lưu trữ các dữ liêu ở trên bộ nhớ chính nên nếu máy chủ Redis bị tắt hay khởi động lại thì các dữ liệu trong cache sẽ bị mất. Nó không phù hợp để lưu trữ các dữ liệu quan trọng.

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

Redis cache không lưu trữ dữ liệu trên ổ cứng mà nó lưu trực tiếp trong bộ nhớ RAM của máy chủ, điều này làm giảm đáng kể thời gian truy cập và tăng tốc độ để xử lý.

Khi có ứng dụng gửi yêu cầu dữ liệu tới Redis cache, máy chủ Redis sẽ kiểm tra xem dữ liệu đã có sẵn ở trong bộ nhớ chưa, nếu có rồi thì Redis cache sẽ trả lại ngay cho ứng dụng đang yêu cầu, còn nếu không có, Redis cache sẽ đi lấy dữ liệu từ các nguồn khác như hệ thống lưu trữ chính, rồi lưu dữ liệu về bộ nhớ đệm để dùng cho những yêu cầu tiếp theo.

Hướng dẫn cấu hình Redis cache

Để cấu hình Redis, bạn thực hiện theo các bước sau:

Bước 1: Cài đặt Redis Object Cache

Tại Dashboard WordPress, vào phần Plugin, bấm vào nút Add New Plugin, tìm kiếm “Redis Object Cache” trên thanh tìm kiếm, sau đó bấm Cài đặt và Kích hoạt, như hình dưới đây:

Cài đặt Redis Object Cache

Bước 2: Kích hoạt kết nối Redis cache

Tại phần setting của Redis Object cache, bạn ấn vào nút Enable Object Cache, nếu kết quả hiển thị là Connected, thì website của bạn đã được kích hoạt Redis cache thành công.

Lưu ý: Các lần truy cập đầu có thể sẽ không thấy sự khác biệt do Redis cache của bạn vẫn đang thu thập cache website bạn, hãy đợi một thời gian rồi vào lại, bạn sẽ ngạc nhiên vì tốc độ của website được cải thiện đó.

Mặt khác, nếu bạn muốn vô hiệu hóa Redis Object cache, chỉ cần nhấn vào nút Disable Object Cache trong phần setting là được.

Sử dụng Redis trong việc cache dữ liệu

Các chiến thuật Caching

Cache Aside

Khi ứng dụng cần đọc dữ liệu từ database, nó sẽ thực hiện kiểm tra trước xem cache có chứa các dữ liệu nó cần không. Nếu có (cache hit) thì sẽ trả về dữ liệu cần truy vấn, không có thì ứng dụng sẽ lấy dữ liệu từ database.

Read Through

Cũng giống như cache aside, nhưng ở đây thì việc lấy dữ liệu từ phía database khi cache miss là của cache.

Write Through

Dữ liệu sẽ được ghi vào cache, rồi được lưu vào database. Khi được dùng cùng với phương pháp read through thì sẽ dữ liệu sẽ có tính nhất quán, không cần dùng các kỹ thuật cache invalidation.

Write Back

Ứng dụng lưu trữ tất cả vào cache, sau khoảng thời gian delay nào đó, cache sẽ lưu tất cả vào database, chiến thuật này thường sẽ dùng cho những ứng dụng nặng, nhưng nếu có lỗi trước khi cache lưu dữ liệu vào trong database thì các dữ liệu vừa được lưu trong cache sẽ bị mất.

Cache invalidation

Khi dữ liệu ở trong database bị thay đổi thì dữ liệu trong cache đã không còn chính xác, cần update hoặc bỏ chúng đi, đây gọi là Cache invalidation.

Kiểu dữ liệu trong Redis Cache

Redis hỗ trợ nhiều kiểu dữ liệu khác nhau, mỗi kiểu dữ liệu phù hợp với các trường hợp sử dụng cụ thể:

  • STRING: String, float hoặc integer. Redis có thể làm việc với string, từng phần của string, cũng như tăng hoặc giảm giá trị của float và integer.
  • SET: Tập hợp những strings không được sắp xếp, hỗ trợ thêm, xóa, đọc, kiểm tra sự xuất hiện của phần tử.
  • LIST: Danh sách strings, sắp xếp theo thứ tự insert, phù hợp cho những thao tác với phần tử gần đầu và cuối danh sách.
  • SORTED SET (ZSET): floating-point number (score), sắp xếp theo score và danh sách map của string (member).
  • HASH: Hash table của những cặp key-value. Hỗ trợ đọc tất cả giá trị và thêm, đọc, xóa từng phần tử.
  • Bit arrays, HyperLogLogs, Streams: Là những kiểu dữ liệu khác giúp Redis cache linh hoạt và mạnh hơn.

Vậy là trên đây HostingViet đã giải đáp cho bạn khái niệm “Redis cache là gì?” và những thông tin liên quan tới nó. Hy vọng các thông tin này sẽ hữu ích với bạn.

Bài viết liên quan
 
 
2025/05/09

Latency là gì? Nguyên nhân và Cách khắc phục độ trễ

Latency là gì? Latency hay còn gọi là độ trễ, là khoảng thời gian tính từ lúc người dùng thực hiện một h&a...
Tác giả:
Đọc thêm
 
 
2025/05/06

9 Cách đặt tên Email chuyên nghiệp cho cá nhân, doanh nghiệp

  Tại sao nên biết cách đặt tên email chuyên nghiệp? Đặt tên email chuyên nghiệp cực kỳ quan trọng vì nó ...
Tác giả:
Đọc thêm
 
 
2025/04/26

Mysql workbench là gì? Cách Download và sử dụng [Hướng dẫn]

Mysql workbench là gì? MySQL Workbench là một công cụ được thiết kế trực quan, hỗ trợ truy cập và quản lý cơ sở dữ liệu. ...
Tác giả:
Đọc thêm
 
 
2025/04/24

Hybrid Cloud là gì? Ưu, Nhược điểm và Ứng dụng đám mây lai

Hybrid cloud là gì? Hybrid Cloud (máy ảo dùng riêng) là mô hình điện toán “đám mây...
Tác giả:
Đọc thêm
 
 
2025/04/23

Root domain là gì? Hướng dẫn cách đăng ký nhanh nhất

Root domain là gì? Ví dụ về Root Domain Root Domain (hay còn gọi là tên miền gốc) là cấp cao nhất trong hệ thống t...
Tác giả:
Đọc thêm
 
 
2025/04/22

Docker compose là gì? Các lệnh cơ bản và Cách cài đặt

Docker compose là gì? Docker Compose là một công cụ giúp bạn định nghĩa và quản lý các ứng dụng multi-conta...
Tác giả:
Đọc thêm