आपको कुछ भी हैक करने की आवश्यकता नहीं है;)
मुझे पूरा यकीन नहीं है कि आपको MySQL पर डेटा की आवश्यकता क्यों है। अगर मुझे पता होता, तो शायद अधिक उपयुक्त उत्तर होता। किसी भी स्थिति में, एक सामान्य उत्तर के रूप में आप रेडिस कीस्पेस नोटिफिकेशन का उपयोग कर सकते हैं
आप अपनी चाबियों पर एचएसईटी, एचएमएसईटी, एचडीईएल और डीईएल आदेशों की सदस्यता ले सकते हैं, इसलिए जब भी कोई कुंजी हटा दी जाती है या हैश मान सेट या हटा दिया जाता है तो आपको एक अधिसूचना मिलती है।
ध्यान दें कि यदि आप कोई सूचना चूक जाते हैं तो आपके पास एक असंगति होगी। तो कभी-कभी आप स्कैन कमांड का उपयोग करके अपनी सभी चाबियों को देख सकते हैं और अगर उन्हें अपडेट करने की आवश्यकता है तो MySQL पर जांच सकते हैं।
एक और रणनीति दो अलग-अलग संरचनाओं को बनाए रखने की हो सकती है। एक मूल्यों के साथ हैश होगा, और दूसरा अद्यतन के टाइमस्टैम्प द्वारा क्रमबद्ध सभी मूल्यों का एक ZSET होगा। दोनों संरचनाओं को अद्यतित रखने का सबसे अच्छा तरीका दो या तीन लुआ स्क्रिप्ट लिखना होगा (सम्मिलित/अपडेट करें और हटाएं) जो हैश और जेसेट पर परमाणु रूप से काम करेंगे।
फिर आप अपने पिछले सिंक ऑपरेशन से अधिक टाइमस्टैम्प वाले तत्वों के लिए समय-समय पर ZSET को क्वेरी कर सकते हैं, अपडेट की गई सभी कुंजियाँ प्राप्त करें (इसमें हटाई गई कुंजियाँ शामिल होंगी, जब तक कि आप विशेष रूप से उनके लिए दूसरा ZSET नहीं रखना चाहते) और फिर बस कुंजी द्वारा सभी तत्वों को पुनः प्राप्त करें और mysql से सिंक करें।
आशा है कि यह आपके काम आएगा!