手机浏览器扫描二维码访问
他在云服务器上直接部署了Redis服务,配置了持久化策略——虽然缓存数据可以丢失,但有些计算中间结果还是保存下来比较好,避免重复计算。
缓存设计是个细致活。
林晨规划了几个关键缓存:
实时行情缓存:存储最新行情,设置15秒过期,过期后系统会自动从数据源更新。
技术指标缓存:存储计算好的mAcd、RSI、布林带等指标值,设置5分钟过期,因为指标计算相对耗时。
策略信号缓存:存储各策略生成的买卖信号,设置1分钟过期,确保交易决策基于最新数据。
“缓存预热机制也得做”
。
林晨思考着。
系统启动时,应该主动加载一些基础数据到缓存,避免第一批请求全部穿透到数据库。
三天后的傍晚,三层数据库架构全部搭建完毕。
林晨开始改造原有的系统代码。
数据访问层要重写,原来直接读写SqLite的代码,现在要根据数据类型分发到不同的数据库。
交易记录写入mySqL,行情数据写入Influxdb,实时查询走Redis缓存。
他写了一个统一的数据访问接口,对上层业务代码透明——业务代码不需要知道数据存在哪里,只需要调用“保存交易”
、“查询行情”
、“获取缓存”
这些方法。
这工作做了整整两天。
林晨像在搭建一座精密的钟表,每个齿轮都要严丝合缝。
有时候一个字段的类型不匹配,就会导致整个写入失败;有时候缓存过期时间设置不合理,就会产生脏数据。
第五天晚上十一点,最后一段代码调试通过。
林晨深吸一口气,点击了系统重启按钮。
监控面板暗下去又亮起来,各个模块依次启动:数据访问层连接mySqL成功,连接Influxdb成功,连接Redis成功,缓存预热完成……
实时行情开始流入,系统界面上的股价数字跳动起来。
林晨打开浏览器的开发者工具,切换到网络监控页。
他模拟了一个查询请求:获取某只股票最近一个月的日K线数据,并计算相应的技术指标。
请求发出。
之前用SqLite时,这个查询需要800毫秒左右,因为要从几十万条数据里筛选、计算。
现在呢?
网络面板显示:请求耗时237毫秒。
林晨眼睛一亮。
他又测试了几个复杂查询:多只股票对比分析、策略历史回测、账户资产走势图……响应时间全部在300毫秒以内,比之前快了三四倍。
“值了”
...
TXT下载,最新章节,无错,番外...
...
TXT下载,最新章节,无错,番外...
TXT下载,最新章节,无错,番外...
穿越当晚,新婚洞房。云绾宁被墨晔那狗男人凌虐的死去活来,后被抛之后院,禁足整整四年!本以为,这四年她过的很艰难。肯定变成了个又老又丑的黄脸婆!但看着她身子各位书友要是觉得神医毒妃腹黑宝宝还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦!1w3452453977...