第一天我们走到了ViewerBase::frame()的viewerInit()这一步,第二天就继续来看看realize()这里做了什么工作。 当前位置:osgViewer/ViewerBase.h /** set up windows and associated threads.*/virtual void realize() = 0;又是一个纯虚函数,继续到Viewer里面去找。
应用场景 假设说有这么一种业务场景,读流量显著高于写流量,你要怎么优化呢。因为写是要加锁的,可能就会阻塞你读请求。而且其实读多写少的场景还很多见,比如电商平台,用户浏览n多个商品才会买一个。 大部分人的思路可能是建个缓存来帮助 MySQL 抗住大部分的查询请求。但是这不行,因为应用缓存的原则之一是保证缓存命中率足够高,不然很多请求会穿透缓存,最终打到数据库上。不同用户的请求基本上都不一样。