我使用ServiceStack和RedisServerEvents插件來通知連接的客戶端數據更改。我有兩臺運行Apache/mod_mono/ServiceStack的Linux虛擬機,一個Redis實例和一臺HAProxy機器。ServiceStack RedisServerEvents創建數千個密鑰
我注意到的一點是,儘管目前每天測試軟件時至少有6個活躍用戶(至少是使用SSE的部分),但我的Redis實例有數千個以「sse:id」開頭的密鑰...「。他們都有TTL爲-1。我可以清除Redis實例中的所有密鑰,隨着時間的推移,密鑰的數量將慢慢恢復。
我想弄清楚的是:這是預期的行爲?有沒有需要採取ServiceStack或我的客戶採取一些行動?
假設任何認爲自己擁有有效訂閱的服務器事件客戶端在調用Reset()後都會遇到異常,這是否合理? – SeanH
@SeanH當調用Reset()時(它只是靜默地移除狀態)時,不會發生SSE客戶端在嘗試發送心跳時收到異常。 – mythz
聽起來不錯...足夠容易趕上前和重新訂閱/創建一個新的SSE根據需要,在工作時間使更新無痛苦;-) – SeanH