2017-09-13 13 views
0

Nun haben meine mongodb eine tabelle, in der die schlüsselwörter und die anzahl der grabber nach schlüsselwörtern gespeichert sind, nun wie man die schlüsselwörter in die redis-liste einfügt und nach der anzahl der grab-priorität Niveau? Danke! sehr viel dies ist mein Code:wie mongo daten in redis-liste einfügen

def init_mongo_to_redis(mongo_db, redis_pool): 
    r = redis.Redis(connection_pool = redis_pool) 
    mongo_handle = mongo_db.keywords_tbl.find({}, {'keyword': 1, 'keyword_type': 1, \ 
      'ignore_station': 1}, no_cursor_timeout=True) 
    redis_len = r.llen('fetch_keywords') 
    if redis_len != 0: 
     logging.info('redis fetch_keywords size is %d', redis_len) 
     return 

    logging.info('init redis fetch_keywords start') 

    r_pipe = r.pipeline() 
    pbar = tqdm(mongo_handle) 
    for keyword in pbar: 
     item = { 
      'keyword_type': keyword['keyword_type'], 
      'ignore_station': keyword['ignore_station'], 
      'keyword': keyword['keyword'] 
     } 
     r_pipe.lpush('fetch_keywords', json.dumps(item)) 
     pbar.set_description('Processing %s' % keyword) 
    r_pipe.execute() 

    logging.info('init redis fetch_keywords end :%d', r.llen('fetch_keywords')) 
+0

Bitte senden Sie den Code, den Sie mit gekommen sind und spezifische Fragen stellen –

Antwort

0

Immer, wenn Sie haben durch eine numerische (integer oder float) Wert in Redis zu bestellen, ist es besser, zuerst Sorted Sets mit zu berücksichtigen. Sie können die Werte durch eine Kerbe bestellen, dass ich in Ihrem Fall annehmen

Anzahl von Greifern Prioritätsstufe