asp.net提供了三种缓存替换的策略:
1.“腐烂搜索”(Scavenging)
比较类似于“最近最少使用”替换原则,当内存变得比教紧张时,缓存机制会找出最不常用和最不重要的对象,把它从内存中移出,以减轻系统压力。为控制“腐烂搜索”的具体行为,编程者必须在插入缓存对象时,指明插入它的耗费和多少时间内它必须被存取一次才能继续留在缓存中,以供替换时进行决择。
2.“到期控制”(Expiration)
编程者可以指定缓存对象的生存周期,这种指定的时间可以是绝对的也可以是相对的。例如绝对的时间(下午6:00到期),相对时间(该对象距最近一次存取它的时间满10分钟即到期)。当一个缓存对象到期后,它将从缓冲内存中移出,此时对该对象的索引将得到null值,除非又重新插入该对象。
3.“文件和键值依赖”
从外部文件或者是其他缓存键值是否改变,来决定本身键值是否有效。如果依赖发生改变,缓存对象将变得不可使用,并从缓存中移动出来。试想这样一种情况,应用从一个XML文件中读出金融信息,而该文件又被定期地修改。应用的作用是利用从该文件读出的信息构造一个图形对象以表示销售的情况。当应用读入文件时,它把数据插入缓存中,并记录下文件的依赖关系。当文件发生修改时,应用使开始产生的缓存对象无效并从内存中移出已经无用的数据,此后应用重新读入文件的数据,再把更新后的数据放入缓存,这样就完成了信息的更新,并返回给最终用户。