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

Ngoại lệ hết thời gian chờ sau các lệnh không đồng bộ và Tác vụ. Khi nào đang chờ đợi trong StackExchange.Redis

Dựa trên một cuộc thảo luận dài trong cuộc trò chuyện và quá nhiều đào sâu, có vẻ như trong một số trường hợp khó hiểu, TPL đang chiếm quyền điều khiển chuỗi trình đọc chuyên dụng khi chúng ta làm những việc như .TrySetResult (mà:chúng tôi làm thường xuyên). Điều này gây ra bế tắc tức thì nếu bạn thực hiện một cuộc gọi đồng bộ, vì nó không thể xử lý bất kỳ dữ liệu socket nào nếu nó đang bận chờ một tác vụ hoàn thành (chỉ có thể hoàn thành một mình). Chúng tôi thực sự có mã tại chỗ đặc biệt để ngăn chặn điều này , nhưng có vẻ như giải pháp thực sự buộc nó sẽ xảy ra trong một số trường hợp khác. Thật là kinh khủng. Tôi sẽ xem những gì tôi có thể tìm thấy. Nhưng về cơ bản, vấn đề là hiện tại , trong một số trường hợp hạn chế , TaskCompletionSource.TrySetResult là cấp quyền cho TPL để chạy liên tục đồng bộ. Điều này bao gồm Task.WhenAny .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Docker &Celery - LỖI:Pidfile (celerybeat.pid) đã tồn tại

  2. Làm thế nào tôi có thể nhận được số lượng chìa khóa trong redis?

  3. Redis cache so với sử dụng bộ nhớ trực tiếp

  4. chuyển kết quả cho một lệnh khác trong redis

  5. Khớp Redis QUÉT