Banking और fintech apps
Security टीमें किसी compromised account के सारे sessions, या पुराने app version वाले हर device के sessions, एक ही कार्रवाई में खत्म कर देती हैं।
Sessions को अपने आप समाप्त होने वाली अवधि के साथ रखें, और बिना कोई index बनाए उन्हें user, role या device के हिसाब से खोजें या रद्द करें।
हर device को 30 मिनट की expiry वाला अपना session मिलता है।
असली HotKV कमांड और उदाहरण रिस्पॉन्स के साथ एक एनिमेटेड वॉकथ्रू। किसी भी कदम पर क्लिक करके वहां पहुंचें। कमांड और रिस्पॉन्स अंग्रेज़ी में ही रहते हैं, ठीक वैसे जैसे आप HotKV में टाइप करते और देखते हैं।
Sessions छोटे, बार-बार इस्तेमाल होने वाले और कम समय के होते हैं, जो इन-मेमोरी store के लिए सही बैठता है। मुश्किल बाद में आती है, जब support को किसी user को हर जगह से sign out करना होता है, या security को किसी role या device के सारे sessions खत्म करने होते हैं। साधारण key-value store किसी session को सिर्फ़ उसकी id से खोज सकता है।
HotKV हर session को expiry के साथ एक key की तरह रखता है और आपको उसे उस user, role या device से tag करने देता है जिससे वह जुड़ा है। Tags इंजन का हिस्सा हैं और key के साथ ही चले जाते हैं। इसलिए keys का समानांतर सेट संभालने की जगह आप एक lookup से सभी मेल खाते sessions की सूची ले सकते हैं या उन्हें रद्द कर सकते हैं।
हर device को 30 मिनट की expiry वाला अपना session मिलता है।
SET session:9f2c "{\"user\":42}" EX 1800Session बनते ही उस पर user, role और device जोड़ दिए जाते हैं।
TAG.SET session:9f2c user:42 role:admin device:iosहर request expiry को refresh करती है, जिससे sliding timeout मिलता है।
EXPIRE session:9f2c 1800चोरी हुए laptop की रिपोर्ट आई है। एक lookup user के सारे sessions लौटा देता है।
TAG.MEMBERS user:42लौटी हुई keys को delete करें। उनके tags भी उनके साथ चले जाते हैं, और हर device sign out हो जाता है।
DEL session:9f2c session:71aa session:0c8eSecurity टीमें किसी compromised account के सारे sessions, या पुराने app version वाले हर device के sessions, एक ही कार्रवाई में खत्म कर देती हैं।
जब किसी admin का role हटाया जाता है, तो उस role से tag किया हुआ हर session एक साथ रद्द हो जाता है।
User tag के लिए TAG.MEMBERS के जवाब से हर account के एक साथ चलने वाले sessions गिनें और सीमित करें।
TTL पूरा होने पर sessions अपने आप गायब हो जाते हैं, और उनके tags भी उनके साथ चले जाते हैं।
EXEXPIREकिसी भी tag से, या एक साथ कई tags से, sessions खोजें।
TAG.MEMBERSTAG.INTERTAG.COUNT और TAG.EXISTS बताते हैं कि किसी key पर क्या लगा है।
TAG.COUNTTAG.EXISTSSession reads और writes parallel threads पर चलते हैं।
User tag और device tag के साथ TAG.INTER इस्तेमाल करें, फिर जो keys लौटें उन्हें delete कर दें।
Key के tags उसके साथ ही चले जाते हैं, expiry पर भी। Tags snapshots का हिस्सा नहीं होते, इसलिए server snapshot से restart हो तो उन्हें दोबारा लगाएँ।
हाँ। User tag पर TAG.MEMBERS sessions की सूची देता है, इसलिए आप उन्हें गिन सकते हैं और sign in के समय सबसे पुराने को मना कर सकते हैं या खत्म कर सकते हैं।
HotKV Redis प्रोटोकॉल बोलता है, इसलिए आप किसी मौजूदा क्लाइंट को इसकी ओर इंगित करके यही कमांड चला सकते हैं।