Redis là gì? - Redis khôn | Careerly

Redis là gì? - Redis không chỉ dùng để caching Dạo gần đây khi phỏng vấn các bạn middle level (đôi khi có cả senior level) thì mình hay hỏi sâu về Redis Đa số các bạn đều trả lời khá lưu loát - Redis là mã nguồn mở, hệ thống lưu trữ key-value và dùng in-memory data store Nhưng khi mình hỏi về các tính năng hoặc mục đích của Redis là gì - Thì đại đa số các bạn đều trả lời là chỉ dụng cho việc caching Quả là không sai nhưng chưa đủ. Ngoài việc caching nó còn phục vụ khá nhiều mục đích khác nhau. Dưới đây là vài công dụng khác mà mình đã áp dụng 1. Message broker (Redis Pub/Sub) - Có vài từ ngữ có thể trong quá trình làm việc hoặc sài các framework mà đã có thể đã nghe qua như Redis Pub/Sub, Event/Listener (Queue) - Mục đích của message broker là giảm tải, cũng như nâng cao trải nghiệm người dùng bằng cách xử lý bất động bộ (Async) 1 vài tác vụ không cần phải xử lý ngay lập tức - Ví dụ: Chúng ta có 1 nghiệp vụ sau khi user đã mua hàng thành công, thì dựa vào đơn hàng của user mà sẽ gửi những khuyến mãi liên quan để kích cầu việc mua của user cho lần tiếp theo - Và việc này không nhất thiết phải sử lý đồng bộ (Sync) giả sự việc này mất 1 phút (Dùng AI các thứ để phân tích). Hãy để Event/Listener lo việc này - Cách hoạt động: có 1 listener (Phân tích và gửi khuyến mãi) luôn lắng nghe event (PlacedOrderSuccess), sau khi đã đạt đơn thành công thì sẽ bắn (Push) ra 1 event là PlacedOrderSuccess 2. Slave database - Theo mình cấp độ cao nhất của việc caching là sử dụng Redis như 1 slave database - Này sẽ rất phù hợp với hệ thống mà data ít phải thay đổi & mà nhiều máy chủ khác nhau - Ở slave database mình phải đảm bảo được là Redis phải luôn persistent - Cách hoạt động: idea là mang những thông tin row trên table lên Redis. Nhưng hãy cận trọng việc cache invalidation 3. Engine - Sorting: nếu bạn gặp khó khăn trong việc sắp xếp việc pick những Hot Products cho những Hot Deals thì đây cũng là 1 cách hay (Dùng sorted set) - Và có thể nhiều phương pháp hoặc bài toán hay để áp dụng Redis như 1 Engine (Mình sẽ bổ sung sau khi có cơ hội trải nghiệm thêm) Sắp tới chắc mình cũng sẽ viết thêm 1 bài để chia sẽ cũng như giúp hiểu rõ hơn về Caching, Caching hiệu quả, và quan trọng không kém là khi nào nên clear Cache #redis #sharing #caching #database

Redis là gì? - Redis không chỉ dùng để caching

Medium

29 tháng 7 năm 2022 am 10:28

Bình luận 0

TOP 10 bài viết của tuần

Đây là bài viết nổi bật tại Careerly vào tuần trước

Nhận thông tin "chất" nhất do chính người trong ngành chia sẻ

Careerly | Mạng lưới người Việt làm tại công ty công nghệ