Memcached——非关系型数据库分布式处理
2016-03-25 12:07
393 查看
Memcached登录校验应用:
MMCacheWriter.cs类
CacheHelper.cs类
HttpRunTimeCacheWriter.cs类
ICacheWriter.cs接口
MMCacheWriter.cs类
using Memcached.ClientLibrary; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Common { public class MMCacheWriter : ICacheWriter { public static readonly MemcachedClient MemcachedClient; static MMCacheWriter() { //分布Memcachedf服务IP 端口 string[] servers = ConfigurationManager.AppSettings["memcachedServer"].Split(','); if (servers==null) { throw new Exception("请选择正确的配置"); } //初始化池 SockIOPool pool = SockIOPool.GetInstance(); pool.SetServers(servers); pool.InitConnections = 3; pool.MinConnections = 3; pool.MaxConnections = 5; pool.SocketConnectTimeout = 1000; pool.SocketTimeout = 3000; pool.MaintenanceSleep = 30; pool.Failover = true; pool.Nagle = false; pool.Initialize(); //客户端实例 MemcachedClient = new Memcached.ClientLibrary.MemcachedClient(); MemcachedClient.EnableCompression = false; } public void Set(string key, object value, DateTime exp) { MemcachedClient.Set(key, value, exp); } public void Set(string key, object value) { MemcachedClient.Set(key, value); } public object Get(string key) { return MemcachedClient.Get(key); } } }
CacheHelper.cs类
using Spring.Context; using Spring.Context.Support; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Common { public class CacheHelper { public static ICacheWriter CacheWriter { get; set; } /// <summary> /// 解决实例化对象问题 /// </summary> static CacheHelper() { IApplicationContext ctx = ContextRegistry.GetContext(); var userInfoDal = ctx.GetObject("CacheHelper") as CacheHelper; } public static void Set(string key, object value, DateTime exp) { CacheWriter.Set(key, value, exp); } public static void Set(string key, object value) { CacheWriter.Set(key, value); } public static object Get(string key) { return CacheWriter.Get(key); } } }
HttpRunTimeCacheWriter.cs类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; namespace Common { public class HttpRunTimeCacheWriter : ICacheWriter { void ICacheWriter.Set(string key, object value, DateTime exp) { HttpRuntime.Cache.Insert(key, value, null, exp, TimeSpan.Zero); } void ICacheWriter.Set(string key, object value) { HttpRuntime.Cache.Insert(key, value); } object ICacheWriter.Get(string key) { return HttpRuntime.Cache[key]; } } }
ICacheWriter.cs接口
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Common { public interface ICacheWriter { void Set(string key, object value, DateTime exp); void Set(string key, object value); object Get(string key); } }
相关文章推荐
- Python Memcached、Redis & RabbitMQ使用
- memcache、memcached 区别
- memcached全面剖析--4. memcached的分布式算法
- 1.6-Memcached共享Session
- 1.5-php连接memcached
- memcached全面剖析--3.memcached的删除机制和发展方向
- memcached全面剖析--2.理解memcached的内存存储
- memcached完全剖析--1. memcached的基础
- memcached分布式部署
- Memcached服务器安装、配置、使用详解
- memcache的用法详解整理
- CentOS 6.5 安装 libevent、Memcached、magent 及测试集群环境
- memcached pk redis
- 什么是Memcache
- memcached的理解与使用
- nginx+tomcat+memcached搭建服务器集群及负载均衡
- 缓存2 动态缓存 memcached
- centos 6 安装 memcached 服务
- memcache 扩展和 memcached扩展安装
- 联合memcache,repcached,magent,monit四个组件搭建高可用集群方案