sql >> Databasteknik >  >> NoSQL >> Redis

Python redis prenumerera kan inte få alla data?

Jag antar att du använder redis-py.

Dokumentationen hänvisar till listen som äldre version av lib... Du kanske borde använda en annan metod för att läsa meddelanden. Till exempel med en återuppringning

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

Redigera:

Det är möjligt att din redis-server håller på att ta slut på minne när du publicerar 20 000 meddelanden samtidigt. Försök att öka redis-minnet i redis.conf fil

maxmemory 500mb # or greater if needed

Det är ett minnesproblem, kolla in den här frågan för mer information om hur man hanterar det.




  1. Framträdande egenskaper hos MapReduce – Vikten av MapReduce

  2. Mongodb korsning med tidsintervall

  3. Vilka är de underliggande datastrukturerna som används för Redis?

  4. Hur frågar man mongodb med "gilla" med java api?