memcached系列2:memcached实例(转)

安装服务端

在上一篇文章,我们讲了,为什么要使用memched做为缓存服务器(没看的同学请点这里)。
下面让我们以memcached-1.2.1-win32版本的服务组件(安装后是以一个windows服务做daemon)和
C#API(Enyim.Caching)为基础,做一个”Hello
world”级的程序,让我们真正感受到memcached就在我们身边。后一的文章,我们还讲memcached的核心部分(根据key来hash存取
数据,缓存数据在server端的内存存储结构)和一些好的案例。

服务端下载地址:http://www.couchbase.com/download 选择适合自己的进行下载安装就可以了,我这里选择的是Win7
64。

  下面的实例实现的功能很简单,根据key来存取一个object对象(要支持Serializable才行哦),因为服务器端数据都是byte型的数据组实现存在。

在安装服务端如果发生如下所示的错误,我在win7 64安装的过程中就遇到了。

 

澳门新葡亰赌995577 1

服务的启动:

澳门新葡亰赌995577,这个时候可以先撤销安装。通过CMD命令运行regedit。展开HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\ CurrentVersion分支,在窗口的右侧区域找到名为“ProgramFilesDir”的键值,将其原键值“C:\Program Files”改为“X:\Program Files”,关闭注册表。

1, 将memcached-1.2.1-win32.zip解决到指定的地方,如c:\memcached

我这里修改的时E盘,因为我E盘剩下的空间还蛮多的。

2, 命令行输入 ‘c:\memcached\memcached.exe -d install’
3, 命令行输入 ‘c:\memcached\memcached.exe -d start’ ,该命令启动
Memcached,默认监听端口为 11211
  可以通过 memcached.exe -h 可以查看其帮助

澳门新葡亰赌995577 2

  

 

第一步:配置config文件

服务端安装完后,如果成功了,那么在浏览器中可以看到。如果没有那么需要手动进行访问http://localhost:8091/index.html。我是在本机安装的所以可以用localhost,可以用IP或者hostname。

澳门新葡亰赌995577 3

澳门新葡亰赌995577 4

<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
    <configSections>
        <sectionGroup name=”enyim.com”>
            <section name=”memcached” type=”Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching” />
        </sectionGroup>
        <section name=”memcached” type=”Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching” />
    </configSections>
    <enyim.com>
        <memcached>
            <servers>
                <!– put your own server(s) here–>
                <add address=”127.0.0.1″ port=”11211″ />
                
            </servers>
            <socketPool minPoolSize=”10″ maxPoolSize=”100″ connectionTimeout=”00:00:10″ deadTimeout=”00:02:00″ />
        </memcached>
    </enyim.com>
    <memcached keyTransformer=”Enyim.Caching.TigerHashTransformer, Enyim.Caching”>
        <servers>
            <add address=”127.0.0.1″ port=”11211″ />
            
        </servers>
        <socketPool minPoolSize=”2″ maxPoolSize=”100″ connectionTimeout=”00:00:10″ deadTimeout=”00:02:00″ />
    </memcached>
</configuration>

点击SETUP,默认设置,然后点击Next,Next,Next,然后到了下面

澳门新葡亰赌995577 5

澳门新葡亰赌995577 6

这里的port:11211是,
memcached-1.2.1-win32在安装时默认使用的port.当然你可以用memcached.exe -p
端口号来自行设置。

简单的输入基本信息,继续Next。

 

澳门新葡亰赌995577 7

第二步, 新建TestMemcachedApp的console project

在此我输入密码123456,继续Next,最终完成配置到达页面。

引用Enyim.Caching.dll或者在solution中加入这个project(可以下载的代码中找到)。

澳门新葡亰赌995577 8

 

当然安装完之后也可以在服务中查看了。

基础代码如下:

澳门新葡亰赌995577 9

//create a instance of MemcachedClient
MemcachedClient mc = new MemcachedClient();
// store a string in the cache
mc.Store(StoreMode.Set, “MyKey”, “Hello World”);
// retrieve the item from the cache
Console.WriteLine(mc.Get(“MyKey”));

客户端调用

 

 创建一个控制台应用程序,然后通过Nuget进行安装。

完整代码如下,