1.安装:http://www.cnblogs.com/dudu/archive/2009/07/19/1526669.html

2.使用

    using Enyim.Caching.Configuration;
using Enyim.Caching.Memcached;
using Enyim.Caching;
using System.IO;
public class HomeController : Controller
{
public ActionResult Index()
{ string setstring = "abcdefg"; Stopwatch sw = new Stopwatch();
sw.Start();
MemcachedClientConfiguration config = new MemcachedClientConfiguration();//创建配置参数
var obj = new a()
{
b = "abcd",
c = "defg",
};
config.Servers.Add(new System.Net.IPEndPoint(IPAddress.Parse("127.0.0.1"), ));//增加服务节点
config.Protocol = MemcachedProtocol.Text;//随便哪个枚举都行
//config.Authentication.Type = typeof(PlainTextAuthenticator);//设置验证模式
//config.Authentication.Parameters["userName"] = "memcache";//用户名参数
//config.Authentication.Parameters["password"] = "password";//密码参数
using (var mac = new MemcachedClient(config))//创建连接
{
//for (int a = 0; a < 300000; a++)
Parallel.For(, , a =>
{
//STRING
mac.Store(StoreMode.Add, "textbox1" + a.ToString(), setstring);//写入
mac.Store(StoreMode.Set, "textbox1" + a.ToString(), setstring);//更新
//JSON
mac.Store(StoreMode.Add, "aa" + a.ToString(), obj.SerializeObject());
//字节数组
var bytes = SerializeBinary(obj);
mac.Store(StoreMode.Add, "bytes" + a.ToString(), bytes); //string str = mac.Get<string>("textbox1");//获取信息
//string cache = mac.Get<string>("aa");
//var cacheObj = cache.DeserializeObject<a>();
//var cachebytes = DeserializeBinary(mac.Get("bytes") as byte[]) as a; });
}
sw.Stop();
return Content(sw.ElapsedMilliseconds.ToString());
//return Content(cachebytes.b + "<br />" + cachebytes.c);
//return Content(cacheObj.b + "<br />" + cacheObj.c);
} /// <summary>
/// 序列化为二进制字节数组
/// </summary>
/// <param name="request">要序列化的对象</param>
/// <returns>字节数组</returns>
public static byte[] SerializeBinary(object request)
{
var serializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
using (MemoryStream memStream = new System.IO.MemoryStream())
{
serializer.Serialize(memStream, request);
return memStream.GetBuffer();
}
} /// <summary>
/// 从二进制数组反序列化得到对象
/// </summary>
/// <param name="buf">字节数组</param>
/// <returns>得到的对象</returns>
public static object DeserializeBinary(byte[] buf)
{
using (MemoryStream memStream = new MemoryStream(buf))
{
memStream.Position = ;
var deserializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
object newobj = deserializer.Deserialize(memStream);
memStream.Close();
return newobj;
}
}
}
    [Serializable]
public class a
{
public string b { get; set; }
public string c { get; set; }
}
    using Newtonsoft.Json;
public static class JsonExtensions
{
/// <summary>
/// 对象转为json字符串
/// 序列化
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static string SerializeObject(this object o)
{
if (o == null)
{
return string.Empty;
}
return Newtonsoft.Json.JsonConvert.SerializeObject(o);
}
public static string SerializeObject(this object o, Newtonsoft.Json.Formatting f)
{
if (o == null)
{
return string.Empty;
}
return Newtonsoft.Json.JsonConvert.SerializeObject(o, f);
}
/// <summary>
/// 字符串解析为对象
/// 反序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="str"></param>
/// <returns></returns>
public static T DeserializeObject<T>(this string str)
{
try
{
return Newtonsoft.Json.JsonConvert.DeserializeObject<T>(str);
}
catch (Exception ex)
{
return default(T);
}
} /// <summary>
/// 根据key获得json对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="str"></param>
/// <param name="key"></param>
/// <returns></returns>
public static T DeserializeObject<T>(this string str, string key)
{
try
{
var p = Newtonsoft.Json.Linq.JObject.Parse(str);
return JsonConvert.DeserializeObject<T>(p[key].ToString());
}
catch (Exception)
{
}
return default(T);
}
}

  主要是看第一个控制器类,后面2个是辅助类和POCO实体,附带了对象序列化和反序列化的方法。示例演示了用EnyimMemcached存储字符串,字节数组,json的方法。个人喜好json这种。

  想偷懒走csdn,3分拿走:http://download.csdn.net/detail/u012398331/8041697

  

EnyimMemcached(64位)使用实例的更多相关文章

  1. PyCharm在win10的64位系统安装实例

    搭建环境 1.win10_X64,其他Win版本也可以. 2.PyCharm版本:Professional-2016.2.3. 搭建准备 1.到PyCharm官网下载PyCharm安装包. 2.选择W ...

  2. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...

  3. Windows 64位下装Oracle 11g,PLSQL Developer的配置问题,数据库处显示为空白的解决方案

    安装pl sql 后,若下图的数据库处为空.则需要安装32位的客户端,说明pl sql不支持64位客户端连接. 解决办法:  1.下载32位Oracle客户端,并安装 2.设置PLSQL Develo ...

  4. 在64位SQL Server中创建Oracle的链接服务器

    当我们同时使用SQL Server和Oracle来存储数据时,经常会用到跨库查询.为了方便使用跨库查询,一个最好的办法就是通过创建链接服务器来实现.既可以在SQL Server中创建Oracle的链接 ...

  5. 64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录

    64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录 经过几天不停的网上找资料,实验,终于联通了. 环境:系统:win 2008 ,SqlServer2008 R2, 连接O ...

  6. 64位系统使用Access 数据库文件的彻底解决方法

    最近,有PDF.NET用户问我怎么在64位系统下无法访问Access数据库的问题,我第一反应是我怎么没有遇到呢?今天一看自己的VS和Office都是32位版本的,所以在VS里面调试访问Access是没 ...

  7. 在64位Windows7上安装64位Oracle11g

    我一直在用Oracle10g数据库,最近想看看11g怎么样,就试着装了一下,在安装过程中遇到的麻烦还不少,幸好有搜索引擎,根据前辈的指点,磕磕绊绊地也将Oracle装上了,作一下记录,以后也许能用得着 ...

  8. 【Oracle】Oracle 11g 64位安装完后,ora-12541错误和ora-12514错误的解决

    问题描述: 干净的windows2008 64位服务器上安装 oracle 11g R2 64bit服务端,安装完后,NetManager中默认的主机名为localhost,可以测试通过.但是无法在别 ...

  9. 64位Win7下安装与配置PHP环境【Apache+PHP+MySQL】

    [软件下载] 本安装实例所使用安装文件如图所示: 其中,64位版本的MySQL安装文件mysql-5.5.33-winx64.msi,可直接从官网下载,下载地址:http://dev.mysql.co ...

  10. 解决SQL Server 2008 64位系统无法导入Access/Excel的问题 2012/08/01

    操作系统Windows Server 2008 X64,数据库SQL Server 2008 X64,Office 2007(好像只有32位),在存储过程执行OpenDatasource导入Acces ...

随机推荐

  1. MongoDB下载及安装

    MongoDB的下载及安装 1.下载: MongoDB的官网是:http://www.mongodb.org/ 2.安装: 方案一:(程序启动方式) 1> 创建文件夹:MongoDB    在D ...

  2. R语言和RStudio的一些用法,常用命令等

    控制台: Up/down 回忆之前的命令 Ctrl+Up 回顾命令列表(可先输入前缀进行查找) 焦点: ctrl+ 移动焦点到source编辑器 ctrl+ 移动焦点到console ctrl+L 清 ...

  3. Day 10 动态参数&名称空间,局部全部.函数嵌套&global nonlocal关键字.

    一.动态参数#形参 有3种动态参数#*args 动态参数,不定长参数def func (*args): print(args,type(args))func(1,2,"alex", ...

  4. hashlib(摘要算法的模块)--重要 (一)

    课件地址:https://www.cnblogs.com/mys6/p/10584933.html  搜索hashlib模块 # 登录认证# 加密 --> 解密# 摘要算法# 两个字符串 :# ...

  5. 内置装饰器二:@property

    property 装饰器的作用 property 装饰器将方法包装成属性,将私有属性公有化,此属性只能被读取.相当于实现get方法的对象 class People: def __init__(self ...

  6. css字体中英速查表

    例1(小米米官网):font-family: "Arial","Microsoft YaHei","黑体","宋体",s ...

  7. jmeter-server中启动后端口总是不断在变化

    1.首先找到这个文件打开: 2.修改两个地方如图: 第一个:server_port=xxxx 第二个:server.rmi.localport=xxxx 3.重启jmeter-server,这是在li ...

  8. C#里面const和readonly

    一.const关键字限定一个变量不允许被改变. 使用const在一定程度上可以提高程序的安全性和可靠性. 1.用于修改字段或局部变量的声明,表示指定的字段或局部变量的值是常数,不能被修改. 2.常数声 ...

  9. 逆向工程生成的Mapper.xml以及*Example.java详解

    逆向工程生成的接口中的方法详解 在我上一篇的博客中讲解了如何使用Mybayis逆向工程针对单表自动生成mapper.java.mapper.xml.实体类,今天我们先针对mapper.java接口中的 ...

  10. POJ 1298

    #include<iostream>// chengdacaizi 注释!2008 11 05 #include<string> using namespace std; in ...