如何在Web数据挖掘中保证用户访问速度的一点实践(SQLite+Quartz)
这个问题一直纠结我很久,以前也想过很多很多想法如下:
1)记录在WebDb中;
2)采用异步线程记录;
3)采用js像cnzz,google那样;
4) 等等记得的就这些了
但是都被我扼杀在脑海中了,第一种方式,本来webdb就已经负载不小了,每次请求都记录太不实际,而且采集的数据结构也会时常变化,通常根据当前的研究方向等来确定。第二种方式,比较好,但是怎么让线程在当前环境下存活也是个问题。第三种方式,很多js ajax无法记录。
这个时候SQLite我觉得是个不错的选择,跑在web端,不会对数据库服务器造成压力,而且在负载均衡中我只要有一台开启采集就可以了。
要更改数据结构也很方便,改好了把原来的拿下来就可以了,备份等也很方便,文件化的好处显而易见。
效率上面对高负载写入还是很吃力的,但是Quartz解决这个问题了,在它的帮助下就跟异步一样我不需要关心它什么时候执行,也不会影响当前请求,还可以对写入任务进行统一管理,添加侦听器等。
目前跑的还是很不错的,效果有待观察。
作者:today4king
出处:https://www.cnblogs.com/jinzhao/archive/2011/09/21/2184375.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架