Redis
 sql >> Database >  >> NoSQL >> Redis

Python redis iscriviti non riesci a ottenere tutti i dati?

Presumo che tu stia usando redis-py.

La documentazione fa riferimento a listen come versione precedente della lib... Forse dovresti usare un altro metodo per leggere i messaggi. Ad esempio con una richiamata

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()

Modifica:

È possibile che il tuo server redis stia esaurendo la memoria quando pubblichi 20000 messaggi contemporaneamente. Prova ad aumentare la memoria redis in redis.conf file

maxmemory 500mb # or greater if needed

È un problema di memoria, dai un'occhiata a questa domanda per ulteriori informazioni su come gestirlo.