Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Python redis đăng ký không thể nhận được tất cả dữ liệu?

Tôi giả sử bạn đang sử dụng redis-py.

Tài liệu đề cập đến listen như phiên bản cũ hơn của lib ... Có lẽ bạn nên sử dụng một phương pháp khác để đọc tin nhắn. Ví dụ với một cuộc gọi lại

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

Chỉnh sửa:

Có thể máy chủ redis của bạn sắp hết bộ nhớ khi bạn xuất bản 20000 thư cùng một lúc. Thử tăng bộ nhớ redis trong redis.conf tệp

maxmemory 500mb # or greater if needed

Đó là một vấn đề về bộ nhớ, hãy kiểm tra câu hỏi này để biết thêm thông tin về cách xử lý nó.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhận giá trị theo mẫu khóa trong StackExchange.Redis

  2. Tôi có nên tạo một ứng dụng Redis mới cho mỗi kết nối không?

  3. Redis - cách tốt nhất để lưu trữ một bản đồ lớn (từ điển)

  4. Tùy chọn Redis-cli --csv (xuất sang csv)

  5. redis để ghi nhật ký