分布式缓存技术的使用

缓存使用的场景:

缓存最终要解决的问题是低速的IO和高速应用之间的差异。
在软件开发的过程中,当访问量和数据量都不是很高的情况下,通常情况直接用一个数据库就可以满足应用需求, 但是随着访问量的上升,系统本身的架构会变得越来越复杂,同时对于应用的要求也会越来越高。
对于单个的数据库来说,数据量会越来越大,数据的查询的相应速度会变得越来越慢,这时候会考虑对数据做分片或读写分离,甚至升级SSD,但是这种方式对于性能的提升是有限的,很难达到大数量级的要求,而且当数据量达到亿级以上的时候,需要的服务器数量会非常大,此时成本也会相应的增加,如果单纯的从数据库层面做优化是无法满足系统吞吐量的要求的。
内存的访问速度虽然很快,但是又不能把所有的数据都放在内存中,在互联网体系中,80%的时间都在访问20%的热点数据,所以,可以引入一些缓存组件把一些热点的,访问高频率的数据放在缓存组件中提升系统的承载能力。
在实际应用中,可以使用内存缓存加分布式缓存形成多级缓存的形式来提升数据的吞吐能力。缓存还可以降低存储成本,缓存可以承担原来需要多台服务器可以承担的的数据量,缓存一般会放在数据库和应用之间。

使用缓存的几种方式:

1.把数据写入数据库,然后把相应的数据写入缓存;
2.先去查询数据库里的数据,然后把相应的数据写入缓存;
3.通过定时调度,周期性的把相应的数据同步刷新。

缓存的分类:

1.应用内缓存,如Map(是一种简单的数据结构),ehCache(是一个Java第三方库);
2.缓存组件,如Memached,Redis。

下一篇:redis的安装,启动,停止

猜你喜欢

转载自blog.csdn.net/lx_Frolf/article/details/82838081