sql >> Databáze >  >> NoSQL >> Redis

Python redis předplatitel nemůže získat všechna data?

Předpokládám, že používáte redis-py.

Dokumentace odkazuje na listen jako starší verze lib... Možná byste měli použít jinou metodu pro čtení zpráv. Například pomocí zpětného volání

p = r.pubsub()

def my_handler(message):
    print 'MY HANDLER: ', message['data']
    if item['type'] == 'message':
         num += 1
         a.parser(item['data'])
         print num

p.subscribe('bdwaf', my_handler)
# read the subscribe confirmation message
p.get_message()

Upravit:

Je možné, že vašemu serveru redis dochází paměť, když publikujete 20 000 zpráv najednou. Zkuste zvětšit paměť redis v redis.conf soubor

maxmemory 500mb # or greater if needed

Je to problém s pamětí, podívejte se na tuto otázku, kde najdete další informace o tom, jak s ním zacházet.




  1. Ladění Java Garbage Collection pro HBase

  2. Jak mohu používat Tornado a Redis asynchronně?

  3. Možnost Redis-cli --csv (export do csv)

  4. $lookup vrací prázdné pole