流式客户端开发:状态维护、数据处理与实际应用
1. 客户端状态维护
在客户端流式应用中,处理状态有多种形式。维护客户端工作状态有诸多好处,比如保留上次处理的位置,存储最后一条消息的元数据,这样用户再次启动应用时就能从上次处理的消息继续;还可以存储客户端流式计算的更新结果,以便在后台处理新数据时定期更新用户界面。
1.1 客户端状态维护的注意事项
不过,要注意避免让客户端在数据流动时进行流式计算。虽然有些计算是有意义的,但不建议在客户端进行基于窗口的计算。即使在数据流量和速度较低时这样做看似可行,但随着时间推移,数据流会增长,若在客户端进行过多计算,会导致客户端代码脆弱、不一致,甚至在数据流增长时崩溃。
1.2 基于浏览器客户端的状态存储
在构建基于Web的流式客户端时,有两种主要的状态存储选项:Web存储和IndexedDB。
- Web存储 :进一步分为本地存储(Local Storage)和会话存储(Session Storage)。它以比Cookie更直观的方式存储键值对。本地存储允许数据在浏览器关闭和重新打开之间持久化;会话存储按存储数据的域名细分,仅在浏览器会话期间存在。不过,Web存储存在局限性,键的存储顺序依赖于用户代理,无法保证按接收顺序访问数据,且每个源的存储限制为5MB(这是规范中的建议限制)。详情可参考W3C规范: http://www.w3.org/TR/webstorage/ 。
- IndexedDB <
超级会员免费看
订阅专栏 解锁全文

1251

被折叠的 条评论
为什么被折叠?



