我使用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