博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Enyim.Caching
阅读量:5057 次
发布时间:2019-06-12

本文共 3407 字,大约阅读时间需要 11 分钟。

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

转载于:https://www.cnblogs.com/rhws/archive/2012/10/07/2713541.html

你可能感兴趣的文章
ES6内置方法find 和 filter的区别在哪
查看>>
Android入门之文件系统操作(二)文件操作相关指令
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
Swift 中的指针使用
查看>>
Swift - 使用闭包筛选过滤数据元素
查看>>
alue of type java.lang.String cannot be converted to JSONObject
查看>>
搜索引擎选择: Elasticsearch与Solr
查看>>
JAVA设计模式之简单工厂模式与工厂方法模式
查看>>
③面向对象程序设计——封装
查看>>
【19】AngularJS 应用
查看>>
Spring
查看>>
Linux 系统的/var目录
查看>>
Redis学习---Redis操作之其他操作
查看>>
WebService中的DataSet序列化使用
查看>>
BZOJ 1200 木梳
查看>>
【Linux】【C语言】菜鸟学习日志(一) 一步一步学习在Linxu下测试程序的运行时间...
查看>>
SpringBoot使用其他的Servlet容器
查看>>
关于cookie存取中文乱码问题
查看>>
mysql 多表管理修改
查看>>
group by order by
查看>>