Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

Redis सॉर्ट किए गए सेट में आंशिक कुंजी नाम का उपयोग करके मान ढूँढना

यहां 2015 के लिए एक अद्यतन उत्तर दिया गया है।

यदि आप Redis को 2.8 से ऊपर अपग्रेड कर सकते हैं, तो MATCH के साथ SCAN कमांड इसके लिए काम करेगी। उस संस्करण से पहले, इतना नहीं, और विकास के माहौल को छोड़कर KEYS कमांड का उपयोग न करें।

http://redis.io/commands/scan

कमांड लाइन पर उदाहरण:

$ redis-cli
127.0.0.1:6379> scan 0 match V3.0:*
1) "0"
2) 1) "V3.0:UNITTEST55660BC7E0C5B"
   2) "V3.0:shop.domain.com:route"
   3) "V3.0:UNITTEST55660BC4A2548"
127.0.0.1:6379> scan 0 match V1.0:*
1) "0"
2) (empty list or set)
127.0.0.1:6379> scan 0 match V3.0:*
1) "0"
2) 1) "V3.0:UNITTEST55660BC7E0C5B"
   2) "V3.0:shop.domain.com:route"
   3) "V3.0:UNITTEST55660BC4A2548"

PHP में उदाहरण:

// Initialize our iterator to NULL
$iterate = null;

// retry when we get no keys back
$redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);

while ($arr_keys = $redis->scan($iterate, 'match:*')) {
    foreach ($arr_keys as $str_key) {
        echo "Here is a key: $str_key\n";
    }
    echo "No more keys to scan!\n";
}

नोट, PHP कोड का परीक्षण नहीं किया गया है और उदाहरण के लिए मूल दस्तावेज़ से यहां । उत्पादन कोड को देखने के लिए आवश्यक कुंजियों के आधार पर संशोधित करने की आवश्यकता होगी।

उबंटू के लोगों के लिए यहां php5-redis को अपग्रेड करने के निर्देश दिए गए हैं:

  1. 2.2.7 पैकेज यहां डाउनलोड करें:http://pecl.php.net/package/redis
  2. $ php -i | grep Redis Redis Support => enabled Redis Version => 2.2.4
  3. PHPize करने, कॉन्फ़िगर करने, स्थापित करने के लिए README में दिए गए निर्देशों का पालन करें
  4. कमांड लाइन क्ली पैकेज के लिए एक सिमलिंक बनाएं:cd /etc/php5/cli/conf.d && sudo ln -s ../../mods-available/redis.ini 20-redis.ini
  5. $ php -i | grep Redis Redis Support => enabled Redis Version => 2.2.7


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं एसएसएल का उपयोग करने के लिए जेडिसकनेक्शन फैक्ट्री को कैसे कॉन्फ़िगर करूं ताकि मुझे त्रुटि न मिले:जेडिसडेटा अपवाद:ईआरआर अनएन्क्रिप्टेड कनेक्शन प्रतिबंधित है?

  2. फेय या रेडिस पबसुब

  3. कमांड प्रॉम्प्ट पर Redis कुंजियाँ और मान प्राप्त करें

  4. Django चैनल त्रुटि - 'asgi_redis.RedisChannelLayer' वापस आयात नहीं कर सकता

  5. प्रहरी के साथ रेडिस को अपग्रेड करने का सर्वोत्तम अभ्यास?