基础算法(七) --- 缓存策略
2013-01-05 10:49
232 查看
缓存是经常使用的一种方法,尤其在服务器端。对于一些复杂的宝贵资源来说,频繁的申请与释放,会导致整个服务的瓶颈。而利用局部性原理,可以将一些经常使用的资源缓存起来,下次再次使用的时候,可以直接从缓存里取,从而提高效率。
设计模式中有个代理模式,就是对宝贵资源进行一个限制,而缓存也可以起到这样的作用。其实很多时候,代理模式中也使用了缓存策略。其实在硬件系统中,内存的分层结构,从一级缓存,二级缓存,到主存再到辅存,都是利用了缓存策略,从而提高运算的速度。
Example 1:
Memcached服务器。它在服务器领域的一个主要作用是在实际数据库跟应用程序之间做一个缓存。应用会先到Memcached里查询数据,没有数据才会查询数据库。
Example 2:
SOCKET连接池。在一些嵌入式应用中,SOCKET是一种宝贵的资源。如果已经连接上服务器,在没有断开的有效时间内,是不会真正的释放的,直到过期或者有新的SOCKET申请。
设计模式中有个代理模式,就是对宝贵资源进行一个限制,而缓存也可以起到这样的作用。其实很多时候,代理模式中也使用了缓存策略。其实在硬件系统中,内存的分层结构,从一级缓存,二级缓存,到主存再到辅存,都是利用了缓存策略,从而提高运算的速度。
Example 1:
Memcached服务器。它在服务器领域的一个主要作用是在实际数据库跟应用程序之间做一个缓存。应用会先到Memcached里查询数据,没有数据才会查询数据库。
Example 2:
SOCKET连接池。在一些嵌入式应用中,SOCKET是一种宝贵的资源。如果已经连接上服务器,在没有断开的有效时间内,是不会真正的释放的,直到过期或者有新的SOCKET申请。
相关文章推荐
- 算法基础(3)分治策略之快速排序
- 缓存失效策略(FIFO 、LRU、LFU三种算法的区别)
- Web缓存基础:术语、HTTP报头和缓存策略
- Web缓存基础:术语、HTTP报头和缓存策略
- 缓存失效策略(FIFO 、LRU、LFU三种算法的区别)
- Web缓存基础:术语、HTTP报头和缓存策略
- C++程序设计:基础、编程抽象与算法策略的笔记
- android开发常用的缓存策略详解(2)- 先进先出(FIFO)置换算法
- Web缓存基础:术语、HTTP报头和缓存策略
- Web缓存基础:术语、HTTP报头和缓存策略
- 缓存淘汰算法--LRU算法【最近最少使用算法LRU置换策略适用于热点数据比较多的场景】
- Android 中图片和协议的三级缓存,图片的的三级缓存Lru和算法.协议的三级缓存策略.
- 常见的缓存算法设计策略
- 常见的缓存算法设计策略
- 【java基础 8】垃圾收集算法及内存分配策略
- 【java基础 8】垃圾收集算法及内存分配策略
- 第一章:算法设计基础(思维体操+常见策略+高效算法+动态规划)
- Web缓存基础:术语、HTTP报头和缓存策略
- 简单LRU算法实现缓存大小的限制策略
- Web缓存基础:术语、HTTP报头和缓存策略