sql >> Database >  >> NoSQL >> Redis

Python redis abonneren kan niet alle gegevens krijgen?

Ik neem aan dat je redis-py gebruikt.

De documentatie verwijst naar listen als oudere versie van de lib... Misschien moet je een andere methode gebruiken voor het lezen van berichten. Bijvoorbeeld met terugbellen

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

Bewerken:

Het is mogelijk dat uw redis-server onvoldoende geheugen heeft wanneer u 20000 berichten tegelijk publiceert. Probeer het redis-geheugen te vergroten in redis.conf bestand

maxmemory 500mb # or greater if needed

Het is een geheugenprobleem, bekijk deze vraag voor meer informatie over hoe u ermee om kunt gaan.




  1. Hoe NodeJS met MongoDB op Ubuntu te installeren

  2. MongoError:kon geen verbinding maken met de server bij de eerste verbinding

  3. Mongoose limiet/offset en telling query

  4. Hoe geef ik de HGET/GET-opdracht voor Redis Database via Node.js?