最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
对性能的一些看法
时间:2026-08-20 09:31:50 编辑:袖梨 来源:一聚教程网
答应了某猫说要写心得,赶在下班前写一下吧,预约下我下篇心得要写一部处理器。

以下的心得只是个人看法和感触。
1 我们在处理业务时,不可避免地遇到数据存储,数据库的设计一定要分表,分库,读写分离,主从备份。数据读写sql验证,买个高性能的硬件做主要业务资源,拿个弱点的当备份。以mysql为例,本身就有线程池处理高访问量。可以通过配置设置等修改自己中意的,自己再做一个很可能会崩溃,因为我不知道我会做成什么烂样子。其他索引什么的就不用说了吧。因为我也不懂。
2 关系型数据可以和内存数据库结合。用内存数据库做缓存比自己做个缓存器要方便得多,处理集合运算快些,不过要根据具体情况来说,我只是个建议,基于这个点,选择redis比memcached好。
3 当数据有过多关联或者有关联的数据量过多时,做哈希是很好的方法。
4 通过自己做的哈希,可以做到业务层只处理无状态的数据。有状态数据通常是很多业务的瓶颈,比如要处理同步问题,同步问题就比较头疼,我等你还是不等你,那么干脆我和你没有关系。
5 没有状态的数据轻松解决业务的处理能力。但是数据一定有状态的,我们只是把这个状态提炼出来,在另一个简单层面解决它。也就是说数据过来时候都是有状态的,我们经过一层过滤后,根据业务的特性去掉他们的状态,然后扔给业务层处理,业务层处理完后再抛回给上一层。
6 缓存是必不可少的,不定时处理缓存就是流氓的行为。
7 同步问题很烦人,特别是访问数据的时候,那么就扔给多线程去处理吧,和主业务分开。可是什么时候知道多线程访问的数据访问到了木有,于是做个异步处理器,这个事我正在了解中。
8 即时业务必须即时处理,关键数据必须直接用数据库,不经过缓存。在那之前,最好把包在关键数据外面的一层层剥开再找到关键数据。
9 理解队列的意义。
@某猫,我写完了,你也分享下你的嘛