全量索引问题

来源:8-10 【试试举一反三】全量索引加载的实现(1)

qq_灬Mamba磊_0

2019-03-15

问题一 全量索引写入到本地文件的时机:全量索引写入到本地文件的时机把全量索引写入到本地文件中,数据量大的话这个操作应该比较耗时,实际项目中什么时候去做这个操作呢,肯定是要在所有需要用到索引数据的服务部署前就执行完成的
问题二 索引数据从本地文件加载到内存的时机:项目中是通过代码读入索引文件并把索引数据加载到内存中,数据量大的话 这个操作也比较耗时,在spring初始化的时候进行的话,会导致项目初始化的时候耗时过多吧
问题三 索引数据存储的位置:内存的空间毕竟有限,广告索引数据肯定一直增长的,当索引数据庞大的时候,放在项目内存中会给项目本身造成很大压力吧,毕竟一个jvm里内存也是有上限的,最好还是放在像redis这样的外部缓存应用中是不是比较好呢

写回答

1回答

张勤一

2019-03-15

同学你好:

    第一个问题:全量索引什么时候保存到文件中,这个可以自己定义,只需要记录下当前最后的 Binlog 文件以及其 pos 位置就可以。以便在项目中指定。

    第二个问题:索引数据在 Spring 启动的时候加载是完全可以的,最多也就是秒级的响应时间。不需要过多考虑。

    第三个问题:广告数据不同于业务中的用户数据,通常都是极小的。一般也就是几MB到几十MB(这已经可以容纳几万条广告数据了)的数据量级,完全没有必要考虑 JVM 放不下的问题。如果实在是觉得 JVM 中放不下,放在 Redis 里面也是 OK 的。


    欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!

4
3
weixin_慕圣4223348
回复
CaesarChen
加载的是索引数据,不是广告物料数据
2020-12-24
共3条回复

Spring Cloud微服务架构 设计实现广告系统

广告营销系统,未来大中型企业的标配

2136 学习 · 927 问题

查看课程