13 पॉइंट द्वारा lemonmint 2024-11-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Redis तेज़ है, लेकिन बार-बार data fetch करने से API server पर लोड बढ़ता है। खासकर real-time data जैसे मामलों में, जहाँ updates अनियमित हों लेकिन reads बहुत frequent हों, वहाँ एक efficient cache strategy की ज़रूरत होती है。

  • समस्या: Redis PubSub या Keyspace Notification में update detection और message handling logic जटिल हो सकता है, या फिर resource wastage हो सकता है।

  • समाधान: Redis 6.0 से supported Invalidation Message एक ऐसा तरीका है जिसमें server client cache को manage करता है।

    • जब client किसी key को पढ़ता है और बाद में कोई दूसरा client उसे बदल देता है, तो Redis update message भेजकर cache हटाने के लिए कहता है।
  • इम्प्लीमेंटेशन: Go भाषा में redigo+ristretto combination या rueidis library का उपयोग करके Invalidation Message लागू किया जा सकता है।

    • redigo+ristretto में custom logic चाहिए, लेकिन rueidis में DoCache function से इसे आसानी से implement किया जा सकता है।
  • परिणाम: वास्तविक उपयोग में API response speed अधिकतम 82% तक बेहतर हुई, और Redis server पर लोड भी कम हुआ। Client-side cache management की ज़रूरत रहती है, लेकिन performance improvement का असर काफ़ी बड़ा है।

1 टिप्पणियां

 
jujumilk3 2024-11-29

👀