缓冲容量大小的影响因素是什么?

如题所述

缓冲容量大小的影响因素是缓冲比和总浓度。对于同一缓冲系 ,当缓冲比一定时,总浓度越大,抗酸成分和抗碱成分越多,外加同量酸碱后,缓冲比变化越 小,缓冲容最大 ,缓冲能力就越强;反之 ,总浓度越小,缓冲容量越小 ,缓冲能力就越弱。

对于同一缓冲系 ,当总浓度一定时,缓冲比越接近 1,外加同量酸碱后 ,缓冲比变化越小 ,缓冲容量越大 ,缓冲能力就越强;反之 ,缓冲比越偏离 1,缓冲容量越小 ,缓冲能力就越弱。 当缓冲比等于1,缓冲容量最大。

缓冲的方式

先更新数据库,再更新缓存。这种做法最大的问题就是两个并发的写操作导致脏数据。如下图(以Redis和Mysql为例),两个并发更新操作,数据库先更新的反而后更新缓存,数据库后更新的反而先更新缓存。这样就会造成数据库和缓存中的数据不一致,应用程序中读取的都是脏数据。

先删除缓存,再更新数据库。这个逻辑是错误的,因为两个并发的读和写操作导致脏数据。(以Redis和Mysql为例)。

假设更新操作先删除了缓存,此时正好有一个并发的读操作,没有命中缓存后从数据库中取出老数据并且更新回缓存,这个时候更新操作也完成了数据库更新。此时,数据库和缓存中的数据不一致,应用程序中读取的都是原来的数据(脏数据)。

温馨提示:答案为网友推荐,仅供参考