最近的技术学习

解决不频繁请求数据库的技术解决方案

这是在一次面试的时候面试官提到的一个问题:在做micro-service的项目中,接口是无状态,不会存储信息的,那请问如何解决用户频繁需要请求数据库的问题?
当时闪现了一个名词是“缓存”。因为在做的项目也出现过说频繁向数据库查询数据导致每次查询速度慢,甚至会拖死服务器的可能,如果并发大,更是悲剧。所以在开发过程中开发同事有提到用缓存来解决这个问题。但是确实对微服务不是了解得特别透彻,也不知道微服务中,做“缓存”操作是否可行,就没有说出这个方法。
回去和技术的同事探讨后,发现确实就是要“缓存”。嗯~遂查找了一些科普文章来补补知识。
链接:微服务实战(五):微服务化之缓存的设计

Ant-design pro 中卡片列表如何设置到一行5个卡片的效果?

这个找了前端大神们探讨,发现其实是个很普通的问题。但是对于当时我第一回接触时,确实蒙圈,设计稿出了一行5个卡片列表,但看了技术文档,确实没有哪里可以说一行5个卡片Grid 。 因为蚂蚁这个框架是用24Grid,5显然不能平分的。网搜了一波,确实有解决方法,但是怎么应用到React框架里?最后的最后,探讨了一波后,总结两个方法:

  • 4-1-4-1-4-1-4 的格式进行划分,当最后卡片出现时要做判断,不要自动+1这个部分。
  • 5-5-(8-8-8) 的格式,Grid嵌套一个Grid的方式,这种方式自适应就不是那么美好了。

Elasticsearch 解决千万级数据查询

数据库积累了千万级数据后,要做的功能需要快速从这千万级数据找出符合条件的结果。只用单纯SQL语句已经无法满足了,技术们讨论一波,引入Elasticsearch的搜索引擎,虽然和我的需求设计没有关联性,但是出来的效果确实速度快很多,当然必须了解一下这个神奇的搜索引擎工作原理如何解决之前速度慢的问题。主要是索引效率比传统SQL索引好太多,联想什么的都比传统的出色。But,实践证明,它仅对一条搜索条件优化查询大量数据的速度,但是如果多条搜索规则的话,其实该跑的次数还是要跑,并不会降低次数维度的速度。对于优化后速度还是蛮满意的!
原理参考:Elasticsearch-基础介绍及索引原理分析