memcached应用
0. memcached前言
百度百科:Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。(http://baike.baidu.com/link?url=_PRuEvjNLsiKXZcPrLX9x9Eiwqo4bg8NOuFywk-j2SKLKUy5bQOHH3ijtU5p0DDi4KHE591_unI1oEkEBbT5DpZ3kc1ftH4ukkOdwNzNLhi)
1. 基于windows 64位下的memcached的安装部署
下载memcached 可以在网上搜索各版本,建议去官网下载,首先下载对应的32位版本,解压缩后,如果使用64位操作系统,则同时下载64位版本,解压缩后将对应的3个文件把原32位解压出来的文件覆盖掉即可
安装比较容易,定位到对应的memcached目录,然后执行安装命令
安装后执行启动命令
一般没有报错即安装成功,我们可能通过命令memcache.exe -h来验证下(如下已经安装成功)
因为memcached是基于windows服务的,所以我们win+r中输入services.msc查看服务,如下:
说明当前memcached服务已经成功开启,或者直接在进程中查看(打开任务管理器)
2. .net版memcached应用
2.1 目前memcached已经在.net的nuget中有对应的开源项目EnyimMemcached缓存,所以我们直接拿来主义使用先。
执行后搜索enyimMemcached
安装完后,我们可以先开始做相关的demo测试
在网上下了2个demo,发现没有一个可以用的。不是提示ProtoBuf.Caching.Enyim相关错误,就是报对应的Type不对,一看是对应的app.config配置不对
在stackoverflow上我们找到了对应的说明,其实这个type不对,我们自己也应该意识到问题
http://stackoverflow.com/questions/13646827/protobuf-net-transcoder-for-enyimmemcached-problems
2.2 我们知道原因:缺少protobuf-net.Enyim,于是安装之
安装完成后再编译,通过了,调试一切OK
2.3 下面我们先给出对应的xml配置
2.4 MemCached辅助类(该类随各位编写,此处直接抄袭之)
2.5 代码测试
编译ok后查看效果:
3. 发散
后继写之
最后上传代码demo,可直接运行调试