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. iOS App的加固保护原理

    本文由  网易云发布. 本文从攻防原理层面解析了iOS APP的安全策略.iOS以高安全性著称,但它并非金刚不坏之身.对于信息安全而言,止大风于青萍之末是上上策,杭研深入各个细节的研发工作,正是网易产 ...

  2. Python实现汉诺塔问题的可视化(以动画的形式展示移动过程)

    学习Python已经有一段时间了,也学习了递归的方法,而能够实践该方法的当然就是汉诺塔问题了,但是这次我们不只是要完成对汉诺塔过程的计算,还要通过turtle库来体现汉诺塔中每一层移动的过程. 一.设 ...

  3. PHPhotos

    PHPhotoLibrary: @abstract A PHPhotoLibrary provides access to the metadata and image data for the ph ...

  4. 盗墓笔记—阿里旺旺ActiveX控件imageMan.dll栈溢出漏洞研究

    本文作者:i春秋作家——cq5f7a075d 也许现在还研究Activex就是挖坟,但是呢,笔者是摸金校尉,挖坟,呸!盗墓是笔者的本职工作. 额,不扯了,本次研究的是阿里旺旺ActiveX控件imag ...

  5. Python中获取当前时间 获取当前时间前几天的代码

    当然 需要引入 datetime import datetime 获取当前日期:datetime.datetime.now().strftime('%Y-%m-%d') 获取当前日期前七天日期: no ...

  6. Kafka参数配置详解

    配置参数 参数说明 broker.id =1  每一个broker在集群中的唯一标示,要求是正数.当该服务器的IP地址发生改变时,如果broker.id没有变化,则不会影响consumers的消息情况 ...

  7. django -admin 源码解析

    admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单 ...

  8. html基础+常用标签

    概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器 ...

  9. (转)Python3.5——装饰器及应用详解

    原文:https://blog.csdn.net/loveliuzz/article/details/77853346 Python3.5——装饰器及应用详解(下)----https://blog.c ...

  10. (转) Linux(Centos7)yum安装最新mysql

    原文:http://blog.csdn.net/gebitan505/article/details/54613549 环境 CentOS 7.1 (64-bit system) MySQL 5.6. ...