Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Redis

Redis . में बड़े सॉर्ट किए गए सेट को हटाना

रेडिस में बड़ी वस्तुओं को हटाना धीमा क्यों है, इस बारे में अधिक जानने के लिए, इस त्वरित अवलोकन को पढ़ें

Redis में एक बड़े सॉर्ट किए गए सेट को हटाने के लिए:

  1. एक अद्वितीय, नेमस्पेस्ड कुंजी के लिए कुंजी का नाम बदलें ताकि सॉर्ट किया गया सेट अन्य रेडिस क्लाइंट को तुरंत "डिलीट" दिखाई दे।

  2. छोटे बैचों में सॉर्ट किए गए सेट से सदस्यों को तब तक हटाएं जब तक कि यह खाली न हो जाए। हमारे डिलीट कमांड के आकार को सीमित करके, हम यह सुनिश्चित करते हैं कि हम सर्वर को बहुत लंबे समय तक ब्लॉक न करें।

कृपया ध्यान दें कि निम्न कोड रेडिस कनेक्शन विफलताओं को इनायत से नहीं संभालता है। यदि कोई रेडिस कमांड विफल हो जाता है और अपवाद उत्पन्न करता है, तो आपको मैन्युअल रूप से सफाई करनी होगी।

छद्म कोड

# Rename the key
newkey = "gc:hashes:" + redis.INCR("gc:index")
redis.RENAME("my.zset.key", newkey)

# Delete members from the sorted set in batche of 100s
while redis.ZCARD(newkey) > 0
  redis.ZREMRANGEBYRANK(newkey, 0, 99)
end

रूबी

$redis = Redis.new

def delete_sorted_set(key)
  # Rename the key
  newkey = "gc:zsets:#{$redis.incr("gc:index")}"
  $redis.rename(key, newkey)

  # Delete members from the sorted set in batches of 100
  while $redis.zcard(newkey) > 0
    $redis.zremrangebyrank(newkey, 0, 99)
  end
end

# Example:
#
#   delete_sorted_set("my.large.set")

रूबी में बैकग्राउंड जॉब का उपयोग करके उपरोक्त के कुछ उदाहरण कार्यान्वयन यहां दिए गए हैं:

  • अनुरोध
  • साइडकीक

← "Redis में बड़ी वस्तुओं को हटाना" पर वापस जाएं


  1. Redis ZREVRANGE - Desc रैंक रेंज द्वारा क्रमबद्ध सेट के तत्व कैसे प्राप्त करें

    इस ट्यूटोरियल में, हम सीखेंगे कि विशिष्ट श्रेणी के बीच रैंक वाले सॉर्ट किए गए सेट वैल्यू के एक या अधिक तत्वों को कैसे प्राप्त करें और स्कोर द्वारा अवरोही क्रम में। इसके लिए हम रेडिस ZREVRANGE . का उपयोग करेंगे आदेश। ZREVRANGE कमांड ZREVRANGE कमांड, निर्दिष्ट श्रेणी द्वारा परिभाषित निर्दिष्ट कुंजी

  1. Redis ZRANGE - एएससी रैंक रेंज द्वारा क्रमबद्ध सेट के तत्व कैसे प्राप्त करें

    इस ट्यूटोरियल में, हम सीखेंगे कि विशिष्ट श्रेणी के बीच रैंक वाले सॉर्ट किए गए सेट वैल्यू के एक या अधिक तत्वों को कैसे प्राप्त करें और स्कोर द्वारा आरोही क्रम में। इसके लिए हम रेडिस ZRANGE . का उपयोग करेंगे आदेश। ZRANGE कमांड ZRANGE कमांड, निर्दिष्ट श्रेणी द्वारा परिभाषित निर्दिष्ट कुंजी पर संग्रही

  1. रेडिस ZCARD - रेडिस डेटास्टोर में सॉर्ट किए गए सेट का आकार कैसे प्राप्त करें

    इस ट्यूटोरियल में, हम सीखेंगे कि कमांड का उपयोग करके कुंजी पर संग्रहीत सॉर्ट किए गए सेट मान का आकार (तत्वों की संख्या) कैसे प्राप्त करें - ZCARD रेडिस-क्ली में। रेडिस ZCARD कमांड का सिंटैक्स इस प्रकार है:- वाक्यविन्यास :- redis host:post> ZCARD <key name> आउटपुट :-  (integer) value, rep