Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Khám Phá 5 Trường Hợp Sử Dụng Redis Cốt Lõi Cho Ứng Dụng Hiện Đại

1. Session cache

Một trong những trường hợp sử dụng rõ ràng nhất cho Redis là sử dụng nó như một session cache. Lợi thế của việc sử dụng Redis so với các session store khác, như Memcached, là Redis cung cấp tính bền vững (persistence). Mặc dù duy trì một cache thường không phải là mission-critical về mặt tính nhất quán, hầu hết người dùng có thể sẽ bực bội nếu tất cả session giỏ hàng của họ biến mất.

May mắn thay, với sự phổ biến Redis đã có được qua nhiều năm, bạn có thể dễ dàng tìm thấy tài liệu về cách sử dụng Redis phù hợp cho session caching. Ngay cả Magento®, nền tảng thương mại điện tử nổi tiếng, cũng có plug-in cho Redis.

2. Full-page cache

Ngoài các session token cơ bản, Redis cung cấp một nền tảng Full-page cache (FPC) đơn giản để vận hành. Yếu tố nhất quán cũng quan trọng ở đây. ngay cả khi khởi động lại các instance Redis, với disk persistence, người dùng của bạn không thấy sự giảm tốc độ tải trang—một thay đổi đột ngột so với PHP native FPC.

Magento cung cấp plug-in để sử dụng Redis làm full page cache backend.

Đối với người dùng WordPress®, Pantheon™ có một plug-in tuyệt vời, wp-redis, giúp bạn đạt được tốc độ tải trang nhanh nhất bạn từng thấy!

3. Queues

Tận dụng Redis in-memory storage engine để thực hiện to-do list và các phép toán set khiến Redis trở thành một nền tảng tuyệt vời để sử dụng cho message queue. Tương tác với Redis như một queue sẽ cảm thấy tự nhiên đối với bất kỳ ai'habit dùng push/pop operations với lists trong các ngôn ngữ lập trình như Python®.

Nếu bạn tìm kiếm Google về Redis queues, bạn sẽ thấy hàng tấn dự án open-source nhằm mục đích làm cho Redis trở thành backend utility cho tất cả nhu cầu queuing của bạn. Celery, ví dụ, có backend sử dụng Redis làm broker mà bạn có thể xem.

4. Leaderboards và counting

Redis làm tốt việc increments và decrements vì nó in-memory. Sets và sorted sets cũng làm cho cuộc sống của chúng ta dễ dàng hơn khi chúng ta làm các loại phép toán này. Redis tình cờ cung cấp cả hai cấu trúc dữ liệu này. Vì vậy để kéo top 10 users từ một sorted set—chúng ta sẽ gọi nó là "user_scores"—bạn có thể chạy mã sau:

ZRANGE user_scores 0 10

Tất nhiên, điều này giả định bạn đang xếp hạng người dùng trên điểm số tăng dần. Nếu bạn muốn trả về cả người dùng và điểm số của họ, bạn có thể chạy mã sau:

ZRANGE user_scores 0 10 WITHSCORES

Agora Games có một ví dụ, sử dụng Ruby, của leaderboard sử dụng Redis làm datastore của nó.

5. Publish-Subscribe

Redis có tính năng Publish-Subscribe (Pub/Sub). Các trường hợp sử dụng cho Pub/Sub là vô tận. Tôi đã thấy mọi người sử dụng nó cho các kết nối mạng xã hội, cho việc kích hoạt scripts dựa trên sự kiện Pub/Sub, thậm chí cho một hệ thống chat được xây dựng bằng Redis Pub/Sub!

Trong tất cả các tính năng Redis cung cấp, tôi cảm thấy như tính năng này luôn nhận được ít tình yêu nhất, mặc dù nó có rất nhiều thứ để cung cấp cho người dùng.

Tìm hiểu thêm về Rackspace DBA Services.

Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi. Bạn cũng có thể bắt đầu cuộc hội thoại với chúng tôi.