Memcached——非关系型数据库分布式处理
Memcached登录校验应用:

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 = ;
pool.MinConnections = ;
pool.MaxConnections = ;
pool.SocketConnectTimeout = ;
pool.SocketTimeout = ;
pool.MaintenanceSleep = ;
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);
}
}
Memcached——非关系型数据库分布式处理的更多相关文章
- 非关系型数据库(NoSql)
最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...
- 一文读懂非关系型数据库(NoSQL)
为了更好的理解非关系型数据库,我又深入的度娘了下 原文地址:https://baijiahao.baidu.com/po/feed/share?wfr=spider&for=pc&co ...
- 非关系型数据库--redis
0.1 新单词 expire 美 /ɪk'spaɪɚ/ 到期 range 美 /rendʒ/ 范围 idle美 /'aɪdl/ 闲置的 0.2 面试题:mysql和redis和memcached区别? ...
- NoSQL非关系型数据库
NoSQL 关注公众号"轻松学编程"了解更多. 一.概念 NoSQL(Not Only SQL)非关系型数据库(功能换效率). 优点 开发维护成本低 访问灵活 访问速度快(缓存+快 ...
- 非关系型数据库(NOSQL)和关系型数据库(SQL)区别详解
前言: 在我们的日常开发中,关系型数据库和非关系型数据库的使用已经是一个成熟的软件产品开发过程中必不可却的存储数据的工具了.那么用了这么久的关系数据库和非关系型数据库你们都知道他们之间的区别了吗?下面 ...
- 【Redis】(1)-- 关系型数据库与非关系型数据库
关系型数据库与非关系型数据库 2019-07-02 16:34:48 by冲冲 1. 关系型数据库 1.1 概念 关系型数据库,是指采用了关系模型来组织数据的数据库.关系模型指的就是二维表格模型, ...
- 非关系型数据库SequoiaDB虚拟机下应用初探
SequoiaDB是广州巨杉软件有限公司开发的一款新型分布式非关系型数据库.可应用于linux操作系统下.在虚拟机下试用了一下(操作系统Ubuntu),感觉不错,操控简单易上手,在此分享一下心得. 下 ...
- 关系型数据库 VS 非关系型数据库
一.关系型数据库? 1.概念 关系型数据库是指采用了关系模型来组织数据的数据库.简单来说,关系模式就是二维表格模型. 主要代表:SQL Server,Oracle,Mysql,PostgreSQL. ...
- 关系型数据库管理系统(RDBMS)与非关系型数据库(NoSQL)之间的区别
简介 关系型数据库管理系统(RDBMS)是建立在关系模型基础上的数据库,主要代表有:Microsoft SQL Server,Oracle,MySQL(开源). 非关系型数据库(NoSQL),主要代表 ...
随机推荐
- Centos开机自启动redis
修改redis.conf,打开后台运行选项: # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note ...
- hdu 4832 Chess(dp)
Chess Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- Java中的静态方法和单例模式比较
区别 单例模式方法 静态方法 实例 创建实例 无 运行 类的实例的方法 类的方法 也可以通过实例化,在通过类的实例来运行 是否可以被重写 可以 可以(子类的该方法也必须是静态方法) 调用其他静态方法 ...
- QQ一键登录功能的实现过程
QQ登录的思路: 当qq登陆成功后,QQ会给我们返回一个唯一的用户标识:openId,当用户授权QQ时,判断 if(已经有openId){ 跳转到登陆后的页面. }else if(没有openId){ ...
- C++中对象初始化
在C++中对象要在使用前初始化,永远在使用对象之前先将它初始化. 1.对于无任何成员的内置类型,必须手工完成此事. 例如: int x=0; double d; std::cin>>d; ...
- 2014 Super Training #8 A Gears --并查集
题意: 有N个齿轮,三种操作1.操作L x y:把齿轮x,y链接,若x,y已经属于某个齿轮组中,则这两组也会合并.2.操作Q x y:询问x,y旋转方向是否相同(等价于齿轮x,y的相对距离的奇偶性). ...
- uGUI练习(七) Drag And Drop
练习目标 练习UI的拖放操作 一.相关组件 EventTrigger Canvas Group ScrollRect Mask Scrollbar 二.拖放练习 1.创建一个Panel,命名Panel ...
- [转] Centos 6.4 python 2.6 升级到 2.7
http://blog.csdn.net/jcjc918/article/details/11022345
- mysqli预处理和事务处理
1 应用环境 mysqli预处理功能(大量数据处理时使用) 2 步骤 a)mysqli连接数据库 $mysqli = new mysqli('localhost','root','root','chu ...
- 设置linux账号的有效时间
在linux系统中,默认创建的用户的有效期限都是永久的,但有时候,我们需要对某些用户的有效期限做个限定!比如:公司给客户开的ftp账号,用于客户下载新闻稿件的.这个账号是有时间限制的,因为是付费的.合 ...