化繁为简,最简易的SqlDataSource配合Cache使用~
最近一个小项目用了DevExpress控件,实践中DevExpress的控件确实很方便。
在用ASPxGridView控件的时候,为了偷懒结合了SqlDataSource使用,但一直在大数据列表上表现的不太理想
本着最简洁优化的角度,翻了翻SqlDataSource的Cache属性,结合到项目使用效果还不错
Gird代码就不贴了,贴下SqlDataSource的配置:
当然Cache还有其他的设置,比如设置缓存时间,和刷新策略,比如CacheExpirationPolicy=Sliding属性,可设置每次操作之后会重置缓存计数时间
这里主要使用的是CacheKeyDependency,用来和自动生成的缓存建立KEY依赖,更改了CacheKeyDependency的值就相当于重新建立了缓存~
想当于手动刷新了缓存,知道这点你想什么时候刷新缓存数据都可以了~
<asp:SqlDataSource ID="DSMain" runat="server" ConnectionString="<%$ ConnectionStrings:OraConnStr %>" ProviderName="<%$ ConnectionStrings:OraConnStr.ProviderName %>"
EnableCaching="true" CacheKeyDependency="MyCacheKey"/>
Dev重加载,为了提示用户体验,使用了异步Callback
<dx:ASPxButton ID="ASPxButton1" runat="server" Text="重新加载数据" AutoPostBack="false">
<ClientSideEvents Click="function validate(s, e) {
var r=confirm('确定要重新加载数据吗?')
if (r!=true)
e.processOnServer = false;
else
ReloadCallback.PerformCallback();
}" />
</dx:ASPxButton>
<dx:ASPxCallback runat="server" ID="ReloadCallback" ClientInstanceName="ReloadCallback" OnCallback="ReloadCallback_OnCallback">
<ClientSideEvents CallbackComplete="function(s,e){ShowReloadResult(e);}"></ClientSideEvents>
</dx:ASPxCallback>
protected void ReloadCallback_OnCallback(object source, CallbackEventArgs e)
{
Cache["MyCacheKey"] = DateTime.Now; e.Result = true.ToString();
}
function ShowReloadResult(e) {
if (e.result == "True")
if (confirm('重新加载成功,需要自动刷新页面吗~') == true)
window.location.reload();
}
化繁为简,最简易的SqlDataSource配合Cache使用~的更多相关文章
- verilog简易实现CPU的Cache设计
verilog简易实现CPU的Cache设计 该文是基于博主之前一篇博客http://www.cnblogs.com/wsine/p/4661147.html所增加的Cache,相同的内容就不重复写了 ...
- Node.js简易服务器,配合type="module" 实现html文件script标签 ES module引入模块
相信大家在测试type="module" 在html文件中直接模块化引入 js时,会出现一个跨域问题. 当我们将<script ></scirpt> 标签t ...
- Cache选型的一些思考
Cache对于减轻DB负载有非常关键的数据.以下对经常使用的memcached和redis做个总结,便于技术选型. 1 memcached (1) 支持的操作有限,支持经常使用的set,get,de ...
- Cache
在选择的几点思考
Cache为缓解DB装有重要数据,下面经常使用memcached和redis要总结,促进技术的选择. 1 memcached (1) 有限支持的操作,持经常使用的set.get.delete和过期删 ...
- 【STM32H7教程】第24章 STM32H7的Cache解读(非常重要)
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第24章 STM32H7的Cache解读(非常重要 ...
- Ehcache和Spring整合
Ehcache是使用Java编写的缓存框架,比较常用的是,整合在Hibernate和MyBatis这种关系型数据库持久框架. 不过现在用NoSQL也比较盛行,要应用Ehcache,整合起来就没法按照那 ...
- mysql优化之索引优化
Posted by Money Talks on 2012/02/23 | 第一篇 序章第二篇 连接优化第三篇 索引优化第四篇 查询优化第五篇 到实战中去 索引优化 索引优化涉及到几个方面,包括了索引 ...
- PWA(Progressive Web App)入门系列:(一)PWA简单介绍
前言 PWA做为一门Google推出的WEB端的新技术,长处不言而喻.但眼下对于相关方面的知识不是非常丰富.这里我推出一下这方面的新手教程系列.提供PWA方面学习. 什么是PWA PWA全称Progr ...
- HTTP-API-DESIGN 怎样设计一个合理的 HTTP API (一)
这个附件的幻灯片是我最近给团队分享关于设计 HTTP API 的时候,结合 这篇 和我们团队历史上的一些错误,总结出来一些适合内部的经验. 简介. 这次分享主要关注以下几部分: HTTP + JSON ...
随机推荐
- SpringMVC 常用注解(1)
/** * @RequestMapping 除了修饰方法 还可以修饰类 * 1).类定义处:提供初步的请求映射信息,相当于WEB应用的根目录 * 2).方法定义处,提供进一步的细分映射信息,相对 ...
- 一步一步打造自己的Android图片浏览器(原创)
今天我们试着来制作一个自己的Android图片浏览器. 图片浏览器应该具有什么功能呢?鉴于不同的人不同的理解,这里提出一个基本的需求: 搜索手机内的所有图片,展示于一个列表中: 列表中展示的是图片的缩 ...
- 防止 jsp被sql注入的五种方法
一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...
- 云虚拟主机开源 DedeCMS 安装指南
1. 获取主机 FTP 和 数据库 信息 1.1 FTP 信息 登录主机管理后台,在 站点信息 中获取到 FTP 和 数据库 的账号密码,连接地址. 如下图所示: 如果忘记密码,可以在这里进行 重置密 ...
- NOIP2012拓展欧几里得
拉板题,,,不说话 我之前是不是说过数据结构很烦,,,我想收回,,,今天开始的数论还要恶心,一早上听得头都晕了 先来一发欧几里得拓展裸 #include <cstdio> void gcd ...
- Servlet生命周期
初始化:正常情况下,一个Servlet程序在第一次运行时才进行初始化. 刷新只会刷新服务,并没有初始化 销毁:1,容器关闭 2,一个servlet长期不适用 3,开发过程中的reload操作 对 ...
- Node.js的学习路线
http://www.admin10000.com/document/4624.html 顺便关注一下博客:http://blog.fens.me/series-nodejs/ php socket框 ...
- SQl中的char,varcher,nvarchar,txt
CHAR char是定长的,在字段建立时,空间就固定了,不管是否插入值(NULL也包含在内),都占用字符的空间.例如: char(8),输入字符小于8,后面补空值.输入字符大于8时,会截取.CH ...
- 那些年一起用过的iOS开发利器之CocoaPods
本系列所有工具的简介见:http://www.cnblogs.com/lloydsheng/p/3637606.html CocoaPods是一个负责管理iOS项目中第三方开源代码的工具.CocoaP ...
- Android四大组件之actiivity
1.Acitivity Activity是Android一个非常重要的用户接口(四大组件之一),是可见的,主要是用户和应用程序之间进行交互的接口.在每个Activity中都可以放很多控件,所以也可以把 ...