Memched——C#操作
Memched还是比较简单的,这里把C#的相关操作整理了一下,Mark~
/// <summary>
/// 缓存操作类。
/// </summary>
/// <remarks>
/// 简介:
/// Memcached是一个开源的高性能分布式缓存系统,基于key-value的形式存储,简洁强大,开发速度快。
/// 安装教程:http://www.runoob.com/memcached/memcached-install.html
/// 使用类似:/usr/bin/memcached -p 11211 -u root -d 启动
/// 存储命令:
/// Memcached真的很简单,set、add、replace、append、prepend、cas命令的参数也基本相同,这里就一一缀诉,以set为例,
/// set key flags exptime bytes [noreply]
/// value
/// key:键值对key-value中的key;
/// flags:存储键值对的额外信息;
/// exptime:过期时间以秒为单位,0表示永远
/// bytes:在缓存中存储的字节数
/// noreply(可选):告知服务器不需要返回数据
/// value:存储的值(始终位于第二行)
/// 其他命令:
/// get key:查找命令,多值的查找请使用get key1 key2 key3
/// delete key:删除命令
/// stats:返回统计信息
/// flush all:用于清理缓存中的所有的key
/// </remarks>
public class MemcachedCore
{
public MemcachedClient _mClient;
/// <summary>
/// 初始化。
/// </summary>
/// <param name="connStr">链接字符串例:127.0.0.1:11211</param>
/// <param name="poolName"></param>
public MemcachedCore(string connStr, string poolName = "")
{
_mClient = new MemcachedClient();
_mClient.PoolName = poolName;
_mClient.EnableCompression = false;
//初始化
SockIOPool pool; //memcache的pool可以关联多个server,虽然Memcached是分布式的,但是本身是不支持的,需要在客户端编写分布式策略,通过weight来实现
if (string.IsNullOrEmpty(poolName))
pool = SockIOPool.GetInstance();
else
pool = SockIOPool.GetInstance(_mClient.PoolName);
pool.SetServers(new string[] { connStr });
pool.Nagle = false;
pool.Initialize();
}
public void Set<T>(string key, T obj)
{
_mClient.Set(key, obj);
}
public void Set<T>(string key, T obj, DateTime expireTime)
{
_mClient.Set(key, obj, expireTime);
}
public void Add<T>(string key, T obj)
{
_mClient.Add(key, obj);
}
public void Add<T>(string key, T obj, DateTime expireTime)
{
_mClient.Add(key, obj, expireTime);
}
public void Update<T>(string key, T obj)
{
_mClient.Replace(key, obj);
}
public void Update<T>(string key, T obj, DateTime expireTime)
{
_mClient.Replace(key, obj, expireTime);
}
public void Delete(string key)
{
_mClient.Delete(key);
}
public T Get<T>(string key)
{
return (T)_mClient.Get(key);
}
public List<T> GetList<T>(string[] keys)
{
return _mClient.GetMultipleArray(keys).Select(p => (T)p).ToList();
}
}
Memched——C#操作的更多相关文章
- 关于DOM的操作以及性能优化问题-重绘重排
写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- C# ini文件操作【源码下载】
介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...
- js学习笔记:操作iframe
iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)
前言: 抓紧勤奋,再接再励,预计共10篇来结束这个系列. 上一篇介绍:ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 本篇介绍主键操作区相关内容. 1:什么时候有默认的 ...
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
随机推荐
- hdu3572Task Schedule 最大流,判断满流 优化的SAP算法
PS:多校联赛的题目质量还是挺高的.建图不会啊,看了题解才会的. 参考博客:http://blog.csdn.net/luyuncheng/article/details/7944417 看了上面博客 ...
- Spring cloud服务的提供者建立
1.0我们要在这里要建立一个服务的提供者模块,是一个module,类似于服务的公共模块 第一步:添加架包 <project xmlns="http://maven.apache.org ...
- centos7常见的操作01 UTC CST
CentOS系统将UTC时间修改为CST时间方法 2018-10-31 07:51 世界协调时间(Universal Time Coordinated,UTC): GPS 系统中有两种时间区分,一 ...
- Elasticsearch学习(一)————简单命令
Elasticsearch一.简介**Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索.结构化检索和分析,并能将这三者结合起来.Elasticsearch 基于 Lucene ...
- 洛谷P3958 奶酪 并查集
两个空洞可互达当且仅当两个空洞相切,即球心距离小于等于球的直径. 一一枚举两个可互达的空洞,并用并查集连起来即可. Code: #include<cstdio> #include<c ...
- velocity.ui2.0所有的内置动画名称
velocity升级到2.0后api发生了变化,按照原来的名称已经不能调用原来的动画效果,新的名称如下:velocity.ui2.0所有的内置动画名称 bounce flash headShake j ...
- iOS 小知识
iOS 各版本: http://www.pig66.com/2018/145_1021/17357553.html
- appium不能获取webview内容的解决办法
在用appium对小猿搜题app进行自动化测试时,准备用page_source打印出文章的xml内容 但是发现只能打印出外部结构内容,实际的文章内容却没有显示 截图如下 查询之后,得知需要通过cont ...
- html中的meta标签属性
<!-- 声明文档使用的字符编码 --> <meta charset='utf-8'> <!-- 优先使用 IE 最新版本和 Chrome --> <meta ...
- BZOJ 3144 [HNOI2013]切糕 (最大流+巧妙的建图)
题面:洛谷传送门 BZOJ传送门 最大流神题 把点权转化为边权,切糕里每个点$(i,j,k)$向$(i,j,k+1)$连一条流量为$v(i,j,k)$的边 源点$S$向第$1$层的点连边,第$R+1$ ...