缓存是经常使用的一种方法,尤其在服务器端。对于一些复杂的宝贵资源来说,频繁的申请与释放,会导致整个服务的瓶颈。而利用局部性原理,可以将一些经常使用的资源缓存起来,下次再次使用的时候,可以直接从缓存里取,从而提高效率。
设计模式中有个代理模式,就是对宝贵资源进行一个限制,而缓存也可以起到这样的作用。其实很多时候,代理模式中也使用了缓存策略。其实在硬件系统中,内存的分层结构,从一级缓存,二级缓存,到主存再到辅存,都是利用了缓存策略,从而提高运算的速度。
Example 1:
Memcached服务器。它在服务器领域的一个主要作用是在实际数据库跟应用程序之间做一个缓存。应用会先到Memcached里查询数据,没有数据才会查询数据库。
Example 2:
SOCKET连接池。在一些嵌入式应用中,SOCKET是一种宝贵的资源。如果已经连接上服务器,在没有断开的有效时间内,是不会真正的释放的,直到过期或者有新的SOCKET申请。
设计模式中有个代理模式,就是对宝贵资源进行一个限制,而缓存也可以起到这样的作用。其实很多时候,代理模式中也使用了缓存策略。其实在硬件系统中,内存的分层结构,从一级缓存,二级缓存,到主存再到辅存,都是利用了缓存策略,从而提高运算的速度。
Example 1:
Memcached服务器。它在服务器领域的一个主要作用是在实际数据库跟应用程序之间做一个缓存。应用会先到Memcached里查询数据,没有数据才会查询数据库。
Example 2:
SOCKET连接池。在一些嵌入式应用中,SOCKET是一种宝贵的资源。如果已经连接上服务器,在没有断开的有效时间内,是不会真正的释放的,直到过期或者有新的SOCKET申请。