Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached作为缓存技术的解决方案,已经是众所周知了;现在很多WEB应用都在使用它——包括一些知名的网站。若你还不知道这些,请在阅读之前先了解一下。
在ASP.NET中使用Memcached,有很多文章都有介绍,以下是我个人的使用经验。
一,准备
你需要有一下软件:
VS.NET(05/08)
SQLSERVER
memcached服务器端以及客户端类库(开源软件,下载即可)
其中,客户端类库包括以下几个DLL:
Memcached.ClientLibrary.dll
ICSharpCode.SharpZipLib.dll
log4net.dll
二,安装memcached服务器端
将memcached.exe复制到任意目录下,如 c:,在命令行输入:
memcached.exe -d install
memcached将作为一个服务常驻系统内存了
三,建立ASP.NET工程
创建一个ASP.NETWEB项目,命名为MMCWEB,添加以上提到的几个客户端类库的引用。
四,配置
memcached使用了log4net,所以我们先配置log4net
启动调试,若没出现配置的出错提示,并且在网站目录下有文件夹LogFiles,就说明log4net配置成功了。
五,初始化SockIOPool
SockIOPool是什么东东?SockIOPool是Memcached客户端提供的一个套接字连接池,通俗讲,就是与Memcached服务器端交换数据的对象。SockIOPool在应用程序启动时初始化一次就可以了,我把这个工作放在 GLOBAL.ASAX.CS的Application_Start方法里
注意AppSettings["Memcached.ServerList"]是在WEB.CONFIG里设置的,所以WEB.CONFIG的appSettings的子节点里需要有以下一行
<add key="Memcached.ServerList" value="127.0.0.1:11211"/>
启动调试服务器,若没有出错的日志记录,说明IO连接池已经开辟成功。
六,使用Memcached
终于进入正题了,不过使用之前,我们还需要准备一些数据。
创建一个实体类People,并加上Serializable属性!!!
对应的数据库里,增加一张表,字段对应实体类,插入一些测试数据。持久层和业务层的设计就略过了,他们负责向提供一些数据,返回类型可自定,若ILIST,DATASET。
Memcached使用起来就很简单了,比如后台检索出一组People类型的数据,放在一个叫peopleList的arraylist里,而且这个arraylist要频繁使用,只需要这样
上面的key是用来访问这个arraylist的键,Memcached里的数据都是保存为键-值对的。
一旦mc.KeyExists(key)为TRUE,就用return mc.Get(key) as ArrayList提取数据,删除时,使用 return mc.Delete(key);等等。可以自己琢磨了。
以上只是演示,其实数据缓存是一项复杂而繁琐的工作,不仅需要后台代码的分层优化,也需要数据库对大数据量访问的策略和调优。
分享到:
相关推荐
java使用Memcached简单教程 java使用Memcached简单教程
我们选择从源代码安装MySQL,需要注意的是早期的版本有内存泄漏,所以推荐安装最新的稳定版,截至本文发稿时为止,最新的稳定版是5.6.13,我们就以此为例来说明,过程很简单,只要激活了WITH_INNODB_MEMCACHED即可:...
PHP100视频教程47:PHP输出CSV和EXCEL两种简单的方法 PHP100视频教程48:Ajax+PHP快速上手及应用 PHP100视频教程49: Ajax+PHP打造等待进度条效果(二) PHP100视频教程50: Ajax+PHP检查用户名或邮件(三) ...
其实很简单,memcache是php的一个扩展,用于php管理memcached,php-memcache.dll。 如果安装了memcached不安装扩展,那么php无法操控memcached,但是命令行使用起来没有问题 如果安装了memcache扩展但是没有...
《APMServ 5.2.6》:一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP平台的绿色软件... 使用教程(非官方): ● 用APMServ一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP运行平台 是使用说明加下载地址
Django框架基础教程(⼀):简单介绍PythonDjango框架 Django框架基础(⼀):简单介绍Python Django框架,从零开始学Django框架。 1、 、Django简介 简介 Python下有多款不同的 Web 框架,Django是最有代表性的⼀种...
MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。 但安装还是比较麻烦,需要memcached支持,php环境等,对于使用java的人有点问题。 自安装包一站式解决下载,安装问题。 其中...
本来我一直不知道怎么来更好地优化网页的性能,然后最近做python和php同类网页渲染速度比较时,意外地发现一个很简单很白痴但是 我一直没发现的好方法(不得不BS我自己):直接像某些php应用比如Discuz论坛那样,在...
MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。 但安装需要php环境,还需memcached扩展,比较麻烦。本文档一站式解决问题。 当然如果你还没有php环境,可以参考 ...
第一印象——两个简单的例子 17 2.1.1 简单的位置偏好数据集 17 2.1.2 存储汽车品牌和型号数据 22 2.2 使用多种语言 30 2.2.1 MongoDB驱动 30 2.2.2 初识Thrift 33 2.3 小结 34 第3章 NoSQL接口与交互 36 ...
解压到任意非中文目录即可使用,简单拷贝即可部署多个项目环境,控制台方式和服务方式随意组合,查看访问日志和SQL日志简单方便,附有详细的教程可自己动手制作。包含Apache 2.2.14、Mysql 5.1.44、PHP 5.2.13(Zend...
解压到任意非中文目录即可使用,简单拷贝即可部署多个项目环境,控制台方式和服务方式随意组合,查看访问日志和SQL日志简单方便,附有详细的教程可自己动手制作。包含Apache 2.2.16、Mysql 5.1.51、PHP 5.2.14(Zend...
简单,实用的redis教程,Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。
3.1.5、MongoDB的简单使用 3.1.6、MongoDB的图形管理工具 3.1.7、MongoDB的适用场景 3.2、Key-Value介绍(Memcache) 3.2.1、Memcache是什么 3.2.2、Memcache的特性 3.2.3、Memcache的架构 3.2.4、Memcache的简单...
后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。系统拥有强大的模板管理功能,布局版块支持设置输出条件,让前端页面展示方便快捷。 为了提高论坛性能,技术选型 Spring 5.0 + ...
后台数据库备份/还原、全站指定目录打包、一键自动升级等功能使维护简单方便。系统拥有强大的模板管理功能,布局版块支持设置输出条件,让前端页面展示方便快捷。 为了提高论坛性能,技术选型 Spring 5.0 + ...
解压到任意非中文目录即可使用,简单拷贝即可部署多个项目环境,控制台方式和服务方式随意组合,查看访问日志和SQL日志简单方便,附有详细的教程可自己动手制作。包含Apache 2.2.16、Mysql 5.1.51、PHP 5.2.14(Zend...
由于微软对ASP.Net进行高度封装,因此ASP.Net入门非常简单,开发人员不需要了解HTML、JavaScript、Http协议也可以快速开发出一个Web系统,正因为如此,社会上充斥着大量这样的“拖控件的开发人员”,使得很多Java、...
#CyanogenModOTA 一个简单的 OTA REST 服务器,用于 CyanogenMod OTA 更新器系统应用程序##How 使用 只需git clone这个 repo(或)并将所有文件上传到您服务器上的首选目录。 您只需要确保它正在运行 PHP 和 ...