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. C#之asp.net 及MVC 生成动态验证码:

    C#之asp.net 及MVC 生成动态验证码: 1.生成验证码字符串 // 随机生成指定长度的验证码字符串private string RandomCode(int length) { string ...

  2. 文本比较算法Ⅱ——Needleman/Wunsch算法的C++实现【求最长公共子串(不需要连续)】

    算法见:http://www.cnblogs.com/grenet/archive/2010/06/03/1750454.html 求最长公共子串(不需要连续) #include <stdio. ...

  3. 【Selenium专题】元素定位之一简单定位

    UI自动化工具千变万化.架构千变万化,但都逃离不开的关键一步就是元素定位.下面以Selenium为例介绍常见的几个元素定位方法 ID -元素id属性 WebElement El = driver.fi ...

  4. jvm(1)类的加载(三)(线程上下文加载器)

    简介: 类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的. Java Applet 需要从远程下载 Java 类文件到浏览器中并执行. 现在类加载器在 ...

  5. centos安装 Anaconda3及使用

    下载安装 下载地址https://www.anaconda.com/download/ 旧版本下载https://repo.continuum.io/archive/ 比如下载Anaconda3-4. ...

  6. 数据分析库Pandas

    Pandas介绍 导入pandas库 import pandas as pd 读取CSV文件 df = pd.read_csv('file_name') #注意文件路径 读取前几条数据 df.head ...

  7. 【xsy2111】 【CODECHEF】Chef and Churus 分块+树状数组

    题目大意:给你一个长度为$n$的数列$a_i$,定义$f_i=\sum_{j=l_i}^{r_i} num_j$. 有$m$个操作: 操作1:询问一个区间$l,r$请你求出$\sum_{i=l}^{r ...

  8. POJ 1287

    #include<iostream> #include<stdio.h> #define MAXN 100 #define inf 1000000000 using names ...

  9. (LPC1769) Timer Interrupt Application

    void TIMER0_IRQHandler (void) { if(LPC_TIM0->IR & 0x01) { LPC_GPIO1->FIOPIN ^= ( << ...

  10. c# 测试方法执行时间

    class Program { static void Main(string[] args) { Console.WriteLine(ActionExtension.Profiler(a, )); ...