• Enyim.Caching


    1. 下载memcache(http://jehiah.cz/projects/memcached-win32)的windows稳定版http://jehiah.cz/projects/memcached-win32/files/memcached-1.2.1-win32.zip

    2. 解压,把memcached.exe放到c:\windows\system32目录下,然后打开命令行窗口输入下面命令

    c:

    cd \windows\system32

    memcached.exe -d install

    memcached.exe -d start 该命令启动 Memcached,默认监听端口为 11211
     

    3. 下载 Memcached Client http://enyimmemcached.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=13095

    配置config文件

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

    第二步, 新建TestMemcachedApp的console project

    引用Enyim.Caching.dll

    基础代码如下:

    //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"));

    完整代码如下,

    using System;
    using System.Collections.Generic;
    using System.Text;
    using Enyim.Caching;
    using Enyim.Caching.Memcached;
    using System.Net;
    using Enyim.Caching.Configuration;

    namespace DemoApp
    {
    class Program
    {
    static void Main(string[] args)
    {
    // create a MemcachedClient
    // in your application you can cache the client in a static variable or just recreate it every time
    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"));

    // store some other items
    mc.Store(StoreMode.Set, "D1", 1234L);
    mc.Store(StoreMode.Set, "D2", DateTime.Now);
    mc.Store(StoreMode.Set, "D3", true);
    mc.Store(StoreMode.Set, "D4", new Product());

    mc.Store(StoreMode.Set, "D5", new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
    Console.WriteLine("D1: {0}", mc.Get("D1"));
    Console.WriteLine("D2: {0}", mc.Get("D2"));
    Console.WriteLine("D3: {0}", mc.Get("D3"));
    Console.WriteLine("D4: {0}", mc.Get("D4"));

    byte[] tmp = mc.Get<byte[]>("D5");

    // delete them from the cache
    mc.Remove("D1");
    mc.Remove("D2");
    mc.Remove("D3");
    mc.Remove("D4");

    // add an item which is valid for 10 mins
    mc.Store(StoreMode.Set, "D4", new Product(), new TimeSpan(0, 10, 0));

    Console.ReadLine();
    }

    // objects must be serializable to be able to store them in the cache
    [Serializable]
    class Product
    {
    public double Price = 1.24;
    public string Name = "Mineral Water";

    public override string ToString()
    {
    return String.Format("Product {{{0}: {1}}}", this.Name, this.Price);
    }
    }
    }
    }

    下载memcached服务安装地址:http://www.danga.com/memcached/

    Client API下载地址:http://www.danga.com/memcached/apis.bml

  • 相关阅读:
    可遇不可求的Question之过滤单词字符的正则表达式\w的疑义
    可遇不可求的Question之DBNull.Value.ToString()
    可遇不可求的Question之MYSQL的10060和10061错误篇
    可遇不可求的Question之正在中止线程异常
    可遇不可求的Question之类型初始值设定项引发异常篇
    可遇不可求的Question之调用的目标发生了异常篇
    可遇不可求的Question之要复制的 LOB 数据的长度超出了配置的最大值篇
    熱海へ
    CC的留言
    研发才是硬道理钢铁侠的评论(摘自豆瓣)
  • 原文地址:https://www.cnblogs.com/rhws/p/2713541.html
Copyright © 2020-2023  润新知