पाठ 12 / 18

कैश-असाइड पैटर्न

बार-बार होने वाली रीड को झेलने के लिए धीमे डेटाबेस के आगे रेडिस लगाएँ।

पहले कैश जाँचें, फिर DB

ऐप पहले रेडिस जाँचता है। hit मिलने पर तुरंत जवाब मिलता है। miss होने पर असली डेटाबेस से क्वेरी करता है, फिर अगली बार के लिए परिणाम रेडिस में लिख देता है।

कमांड के रूप में फ़्लो

एक miss के बाद अगली रिक्वेस्ट के लिए एक गरम कैश।

GET product:501          # (nil) -> cache miss
# app queries the database for product 501 ...
SET product:501 "{...json...}" EX 300
GET product:501          # cache hit next time

हमेशा TTL सेट करें

बिना एक्सपायरी वाली कैश एंट्री चुपचाप हमेशा के लिए पुरानी हो सकती है। एक घंटे जैसा उदार TTL भी डेटा को अपने-आप ठीक रखता है।