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. 第五章 ReentrantLock源码解析1--获得非公平锁与公平锁lock()

    最常用的方式: int a = 12; //注意:通常情况下,这个会设置成一个类变量,比如说Segement中的段锁与copyOnWriteArrayList中的全局锁 final Reentrant ...

  2. Docker容器的自动化监控实现

    本文由  网易云 发布. 近年来容器技术不断成熟并得到应用.Docker作为容器技术的一个代表,目前也在快速发展中,基于 Docker的各种应用也正在普及,与此同时 Docker对传统的运维体系也带来 ...

  3. (2019)OCP 12c 062考试题库出现大量新题-4

    4.Which four are true about creating and running a remote database scheduler jobs? A) A credential i ...

  4. Python 读取大文件的方式

    对于读取容量小的文件,可以使用下面的方法: with open("path", "r") as f: f.read() 但是如果文件容量很大,高达几个G或者十几 ...

  5. jzoj100044

    完全背包問題 我們可以將數組內每個元素看成一個物品,這樣問題就轉化成: 現有n個物品,每個物品可以取a[i]~b[i]個,價值為d[i],費用為c[i],問怎麼樣取讓費用為0且價值最大 我們可以先每種 ...

  6. hdu5833----高斯消元

    题目大意: 给你n个整数,从中选一些数,他们的乘积为一个完全平方数 问有多少种这样的方式,已知这些数的素因素不超过2000. 思路: 一个完全平方数素因素的个数肯定是偶数个. 我们只要从n个数中选取所 ...

  7. JavaScript函数学习总结(一)---函数定义

    博客原文地址:Claiyre的个人博客 如需转载,请在文章开头注明原文地址 在许多传统的OO语言中,对象可以包含数据,还可拥有方法,也就是属于该对象的函数.但在JavaScript中,函数也被认为是一 ...

  8. (转)ReentrantLock可重入锁的使用场景

    原文: http://my.oschina.net/noahxiao/blog/101558

  9. 【JXOI2018】排序问题 贪心

    我们令$sum_i$表示数字i在加完数字的数列中出现的次数,那么答案显然为$\dfrac{(n+m)!}{\sum_{i=0}^{\infty}sum_i!}$ 不难发现,当每次添加的数为$[l,r] ...

  10. _new_()与_init_()的区别

    先上代码   其中,__new__()不是一定要有,只有继承自object的类才有,该方法可以return父类(通过super(当前类名, cls).__new__())出来的实例,或者直接是obje ...