如何清除正式环境中的缓存

项目已经挂在了正式系统上,不断有用户在上面进行业务处理,现在在数据库中添加了一些新数据,而这些数据由于是基础数据,一般不会做变动,所以在项目中是采用缓存技术将整个表中的内容缓存起来的。现在用户需要马上看到这些更新的数据,那么就必须要清除缓存。
由于项目已经是正式发布了,所以不可能用停IIS的方式来清除缓存。在项目中添加一个页面一个按钮,用程序来清除缓存是比较好的方法。
由于不能停止系统,重新发布项目,那么可以直接登录到服务器上,在项目的文件夹下面建立一个文件clear.aspx。打开这个文件,输入如下内容:

 1<%@ Page Language="C#" %>
 2<%@ Import Namespace="System.Web.Caching" %>
 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4
 5<script runat="server">
 6
 7    protected void Button1_Click(object sender, EventArgs e)
 8    {
 9        Cache cache = HttpRuntime.Cache;
10        int count = cache.Count;
11        IDictionaryEnumerator CacheEnum = cache.GetEnumerator();
12        while (CacheEnum.MoveNext())
13        {
14            string cacheItem = Server.HtmlEncode(CacheEnum.Key.ToString());
15            cache.Remove(cacheItem);
16        }
17        Response.Write("<script>alert('缓存清理完成" +count+"--"+ cache.Count.ToString() + "')</" + "script>");
18    }
19</script>
20
21<html xmlns="http://www.w3.org/1999/xhtml" >
22<head runat="server">
23    <title>未命名頁面</title>
24</head>
25<body>
26    <form id="form1" runat="server">
27    <div>
28        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
29    </form>
30</body>
31</html>
32

保存并关闭文件,现在在项目的站点上打开该页面http://xxxxxx.com/clear.aspx就可以看到我们新建的这个页面。点击这个按钮执行缓存的清理工作。 
我们可以看到,系统中原来有12个缓存对象,现在清理后还有0个缓存对象。进入正式系统,可以看到新加入的内容已经显示在页面上,缓存清理成功!

时间: 2024-08-02 18:30:44

如何清除正式环境中的缓存的相关文章

在正式环境中添加测试数据,如何做?

问题描述 [size=14px]领导为了要保证能够发现正式环境的bug,要求在测试环境和正式环境完全一样,所以要求测试数据和正式数据用同一个库.问题出来了,为了做数据分离,每个数据库都有个一个标记,但是在添加的时候需要每个操作都需要从controller层将session中的用户信息传到service层再传到dao层,确实非常麻烦,而且一旦改动,从上到下都需要改.哪位牛人遇到过类似的需求,能否指点迷津?[/size] 解决方案 解决方案二:用的springmvc+mybatis平台解决方案三:要

清除win7电脑中DNS缓存的方法

  1.首先运行"CMD",回车打开命提示符窗口; 2.然后在打开的命令提示符窗口中输入"ipconfig/flushdns",这是清dns缓存的命令; 3.接着输完命令之后,回车,然后就可以开始清空DNS缓存信息了.

深入探讨在集群环境中使用EhCache缓存系统

EhCache 缓存系统简介 EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider. 下图是 EhCache 在应用程序中的位置: 图 1. EhCache 应用架构图 EhCache 的主要特性有: 快速: 简单: 多种缓存策略: 缓存数据有两级:内存和磁盘,因此无需担心容量问题: 缓存数据会在虚拟机重启的过程中写入磁盘: 可以通过 RMI.可插入 API 等方式进行分布式缓存: 具有缓存和缓存管理器的侦听接口

清除电脑中DNS缓存的办法

  其实电脑在每次访问一个域名之后,就会自动的解析条目,然后将DNS的缓存文件保存在电脑之中,虽然这样的操作让我们以后访问域名时变得稍微快了一点,但是这样的操作也会造成电脑中垃圾问价你的越来越多,直到最后,电脑变得非常的卡,那么清除电脑中DNS缓存的办法是什么呢? 首先,我们按下win+r的组合键,然后输入cmd,打开电脑的运行窗口. 在运行窗口中,我们输入ipconfig/flushdns命令,这是清除电脑中DNS缓存的命令. 待电脑运行完毕之后,我们就会看到成功刷新DNS解析缓存的字样.这也

在Android打包中区分测试和正式环境浅析

前言 本文主要介绍了关于Android打包中区分测试和正式环境的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: APK打包正式环境和测试环境注意 最近在项目打包中,遇到一个问题,每次打包都要区分正式发布包和测试版本的包,主要是修改一下配置 public static final boolean EXTERNAL_RELEASE = true; 当变量为true的时候,就是正式包,反之就是测试包.每次上线的时候我就提醒自己要小心,千万不能出错了,然而终于湿脚了,一个渠道打

IFTTT在开发环境中使用Docker的经验

本文讲的是IFTTT在开发环境中使用Docker的经验,[编者的话]IFTTT是"if this then that"的缩写,事实上是让你的网络行为能够引发连锁反应.让你使用更为方便,其宗旨是"Put the internet to work for you"(让互联网为你服务).Docker在IFTTT中也在开发实践,以下是Nicholas Silva的一些介绍. IFTTT是一款新兴的互联网工具型应用,正如他们给自己的介绍"If This Then T

java中利用spring cache解耦业务中的缓存

虽然以前实现缓存的方式,是定义了缓存操作接口,可以灵活实现不同的缓存,可毕竟精力有限,要完成不同的缓存实现也是件麻烦的事.更要命的是,业务代码中有大量缓存操作的代码,耦合度太高,看着很不优雅. 所以呢,抽空了解了一下其它实现方案.这不,spring3.1开始,支持基于注解的缓存,算是目前我比较可以接受的一种方案吧.学完之后还是做一下笔记吧. spring cache是一套基于注解实现的缓存技术,其本身是并不是具体实现,不过默认实现了ConcurrentMap和EHCache实现的缓存.当然也是支

.Net正式版中的一些Bug及其解决方案

解决 .Net正式版中的一些Bug及其解决方案 (原创) 作者: 飞刀     (1)Session的问题 问题: 在我的Windows.Net 3604 + .Net Framework正式版的编程环境中,.Net下的Session总是有问题,比如我在A程序下设置了一个Session字典,这个Session将会在B程序下读取,现在的情况就是我在B程序读取这个Session时,第一次能够正常读取,但一旦页面被提交(这在Asp.Net编程中是常有的事情),Session就会马上消失,错误报告"Ob

使用mksysb实现VMControl管理环境中多网络NIM Master的备份和快速迁移

对 VMControl 使用的多网络 NIM Master 进行备份和迁移需要考虑到的一些问题 作为 VMControl 管理环境中重要组成部分,Power 系统管理员需要非常注意 NIM Master 本身的备份,考虑到 Power 服务器发生故障时如何进行快速恢复.例如,NIM Master 所在的 Power 服务器发生硬件故障,我们就需要把 NIM Master 快速迁移到全新的 Power 服务器上. 理论上,Power 系统管理员可以利用任何 NIM Master 对当前 VMCon