最近踩的一个小坑

最近需要实现一个业务,大致的内容是为了提高效率,把数据库中的信息定时同步到内存中,然后使用内存查询,提高效率。然后在实现过程中遇到了一个问题,需要同步的信息约9万条,但是这9W条数据对应了133W个图片,大概一个id十几张图片吧。存储这些图片的时候,遇到了小问题。

项目原本使用的结构是:

List<String,Map<String,Object>>

使用车辆的vin做主键,查询相关信息。但是当遇到图片时,使用这个结构就出现了问题,图片库的信息结构是:

  1. vin1,图片1
  2. vin1,图片2
  3. vin3,图片3

使用list存储,相当于我的一个list存储了133W条数据,效率相当的低下,并且查询的时候效率也不高。

后来一直就在想做成查询时直接查数据库,不做加载,但是这样就相当于每次连接都加载一次数据库,效率也是比较低。
后来突然发现自己陷入了一个结构上的误区,如果我使用:

Map<StringList<String>>

这样的结构就可以以Vin做主键,后缀图片信息list,直接将数据减少到了9W条,并且查询时可以直接使用map.contains处理。

其实这个问题并不是一个困难的技术问题,只是因为陷入了原有项目的影响,先入为主的使用了原来的数据结构,没有好好思考本质的问题,导致思路进入了岔路,浪费了许多时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值