บทนำ
เผยแพร่ครั้งแรกเมื่อวันที่ 7 พฤศจิกายน 2017 ที่ ObjectRocket.com/blog
โพสต์นี้อธิบายกรณีการใช้งาน Redis ที่พบบ่อยที่สุดและลักษณะเฉพาะที่แตกต่างกันที่ส่งผลต่อการเลือกใช้เหล่านี้
1. Session Cache
หนึ่งในกรณีการใช้งาน Redis ที่ชัดเจนที่สุดคือการใช้เป็น session cache ข้อได้เปรียบของการใช้ Redis แทน session stores อื่นๆ เช่น Memcached คือ Redis ให้ persistence (ความคงทน) แม้การดูแล cache จะไม่ได้เป็น mission-critical ทางด้าน consistency โดยทั่วไป แต่ผู้ใช้ส่วนใหญ่อาจผิดหวังหาก session ตะกร้าสินค้าทั้งหมดหายไป
โชคดีที่ด้วยความนิยมของ Redis ที่เพิ่มขึ้นตลอดปีที่ผ่านมา คุณสามารถหาเอกสารได้อย่างง่ายดายเกี่ยวกับวิธีใช้ Redis อย่างเหมาะสมสำหรับ session caching แม้ Magento ซึ่งเป็นแพลตฟอร์มอีคอมเมิร์ซที่รู้จักดี ก็มีปลั๊กอินสำหรับ Redis
2. Full-Page Cache (FPC)
นอกเหนือจาก session tokens พื้นฐานแล้ว Redis ให้แพลตฟอร์ม Full-page cache (FPC) ที่ตรงไปตรงมาในการดำเนินการ Consistency เป็นปัจจัยที่สำคัญที่นี่เช่นกัน แม้ข้ามการรีสตาร์ทอินสแตนซ์ Redis ด้วย disk persistence ผู้ใช้ของคุณจะไม่เห็นการลดลงของความเร็วในการโหลดหน้า — การเปลี่ยนแปลงที่มากมายจากสิ่งที่คล้ายกับ PHP native FPC
Magento ให้ปลั๊กอินเพื่อใช้ Redis เป็น full page cache backend
สำหรับผู้ใช้ WordPress Pantheon มีปลั๊กอินที่ยอดเยี่ยมชื่อ wp-redis เพื่อช่วยให้คุณได้ความเร็วในการโหลดหน้าที่เร็วที่สุดที่เคยเห็น!
3. Queues (คิว)
การใช้ประโยชน์จาก Redis in-memory storage engine สำหรับ to-do list และ set operations ทำให้ Redis เป็นแพลตฟอร์มที่ยอดเยี่ยมสำหรับ message queue การโต้ตอบกับ Redis ในฐานะคิวควรรู้สึก native สำหรับผู้ที่เคยใช้ push/pop operations กับ lists ในภาษาโปรแกรมมิ่ง เช่น Python
หากคุณค้นหา Redis queues บน Google คุณจะเห็นว่ามีโครงการโอเพนซอร์สจำนวนมากที่มุ่งเน้นทำให้ Redis เป็น backend utility สำหรับความต้องการ queuing ทั้งหมดของคุณ Celery ตัวอย่างเช่น มี backend ที่ใช้ Redis เป็น broker ซึ่งคุณสามารถดูได้
4. Leaderboards และ Counting (กระดานนำและนับ)
Redis ทำงานได้ดีกับการเพิ่มและลด (increments และ decrements) เนื่องจากมันเป็น in-memory Sets และ sorted sets ทำให้ชีวิตของเราง่ายขึ้นเมื่อเราทำการดำเนินการประเภทนี้ Redis 恰好提供โครงสร้างข้อมูลทั้งสองประเภทนี้ ดังนั้นเพื่อดึง top 10 users จาก sorted set — เราจะเรียกมันว่า "user_scores" — คุณสามารถรันโค้ดต่อไปนี้:
ZRANGE user_scores 0 10
โดยสิ่งนี้สมมติว่าคุณจัดอันดับผู้ใช้ด้วยคะแนนที่เพิ่มขึ้น หากคุณต้องการคืนค่าทั้งผู้ใช้และคะแนนของพวกเขา คุณสามารถรันโค้ดต่อไปนี้:
ZRANGE user_scores 0 10 WITHSCORES
Agora Games มีตัวอย่าง โดยใช้ Ruby ของ leaderboard ที่ใช้ Redis เป็น datastore
5. Publish-Subscribe (เผยแพร่-สมัครรับข้อมูล)
Redis มีคุณสมบัติ Publish-Subscribe (Pub/Sub) กรณีการใช้งานสำหรับ Pub/Sub ไม่มีขีดจำกัด ฉันเคยเห็นคนใช้มันสำหรับการเชื่อมต่อเครือข่ายสังคม สำหรับการทริกเกอร์สคริปต์ dựa trênเหตุการณ์ Pub/Sub และแม้แต่ระบบแชทที่สร้างขึ้นด้วย Redis Pub/Sub!
จากคุณสมบัติทั้งหมดที่ Redis ให้มา ฉันรู้สึกว่าคุณสมบัตินี้ได้รับความสนใจน้อยที่สุด แม้ว่ามันจะมีอะไรให้มากมายแก่ผู้ใช้
เรียนรู้เพิ่มเติมเกี่ยวกับ Rackspace DBA Services
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถเริ่มการสนทนากับเราได้