Memcached缓存在.Net 中的使用(memcacheddotnet)
缓存对于提高大数据量的网站性能无疑不是一个很好的解决方案,针对缓存的使用网上同仁介绍很多,再次我仅仅分享一下自己对Memcached使用的简单介绍。Memchached的使用通过第三方DLL来完成,常用的第三方类库如下:memcacheddotnet、EnyimMemcached。这里主要介绍memcacheddotnet,代码下载 DLL下载 自定义Demo1下载 官方Demo2下载 。
windows memcached下载 memchaced的配置,这里不做解释,网上同仁写的很详细;
针对Memchaced分布式缓存,memcacheddotnet也封装了相应的方法,详细使用可以参考官方Demo2中的内容;
使用方式也特别方便,举出部分主要代码如下
class Program
{
static void Main(string[] args)
{
SockIOPool pool = SockIOPool.GetInstance();
string[] servers = { "127.0.0.1:11211" };
pool.SetServers(servers);
pool.MinConnections = ;
pool.MaxConnections = ;
pool.InitConnections = ;
pool.SocketConnectTimeout = ;
pool.Initialize(); MemcachedClient client = new MemcachedClient();
client.EnableCompression = false;
Console.WriteLine("----------------------------Set-----------");
client.Set("key1", "value1");
Console.WriteLine(client.Get("key1"));
Console.WriteLine("---------------------------replay---------");
client.Replace("key1", "Replay new Key1");
Console.WriteLine(client.Get("key1"));
Console.WriteLine("---------------------------键值是否存在----");
if (client.KeyExists("key2"))
{
Console.WriteLine("key2存在");
}
else
{
Console.WriteLine("key2不存在,设置新值");
client.Set("key2", "New key2");
}
Console.WriteLine("-------------------------删除数据--------");
client.Delete("key2");
Console.WriteLine("删除之后的数据: " + client.Get("key2")); Console.WriteLine("-------------------------数据过期--------");
client.Add("key3", "新数据三内容", DateTime.Now.AddMilliseconds());
Console.WriteLine(client.Get("key5"));
System.Threading.Thread.Sleep();
Console.WriteLine("过期: "+ client.Get("key5")); Console.ReadLine(); }
}
Memcached 安装配置:
1. 安装memcached:
c:\memcached> memcached.exe -d install
2. 启动memcached:
c:\memcached> memcached.exe -d start
(之后屏幕无任何提示,但是在“任务管理器”中勾选“显示所有用户进程”,此时可以看到memcached.exe进程正在运行)
默认端口11211,外部访问需要开放该端口,否则无法成功连接。
3. memcached基本参数设置:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
设置参数时需要先停止memcached,然后用命令行设置,比如:c:\memcached> memcached.exe -m 1 -d start
4. 停止memcached:
c:\memcached> memcached.exe -d stop
5. 卸载memcached:
c:\memcached> memcached.exe -d uninstall
几篇不错的博客文章,推荐一下:
http://www.cnblogs.com/qingyuan/archive/2011/01/17/1937855.html
http://www.cnblogs.com/hsapphire/archive/2009/12/25/1632179.html
另外还有一篇缓存的误区:
http://kb.cnblogs.com/page/138696/
Memcached 安装配置:
http://www.cnblogs.com/jiajinyi/p/3531381.html
Memcached缓存在.Net 中的使用(memcacheddotnet)的更多相关文章
- [python]mysql数据缓存到redis中 取出时候编码问题
描述: 一个web服务,原先的业务逻辑是把mysql查询的结果缓存在redis中一个小时,加快请求的响应. 现在有个问题就是根据请求的指定的编码返回对应编码的response. 首先是要修改响应的bo ...
- 针对缓存在Redis中的聊天消息的持久化方案分析
选型依据 数据库的选型主要考虑一下几个方面: 数据库本身是否收费 数据库后期维护成本 是否支持水平及垂直扩展,及扩展的容易程度 业务数据本身特性 使用此数据库的开发成本 由于此数据库主要用来存储缓存在 ...
- memcached安装及.NET中的Memcached.ClientLibrary使用
一.安装服务端: 服务端:http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip 64:http://blog.couchbase.c ...
- memcached安装及.NET中的Memcached.ClientLibrary使用详解
序言 吹吹牛逼先,借我你的20分钟,保证你在.net中使用memcached缓存数据,畅通无阻,提升数据读取效率,分担数据库压力,便不在话下. 本篇主要说下:memcached分布式缓存的负载均衡配置 ...
- 安装memcached服务器和PHP中添加memcache拓展模块
Memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提拱动态 数据驱动网站的速度. memcached ...
- Windows下Memcached在.Net程序中的实际运用(从Memcached客户端Enyim的库的编译到实际项目运用)
1.一点基础概念 2.获取EnyimMemcached客户端的源代码并编译出动态库 3.Memcached的服务器安装(windows server) 4.在web项目中实战 一.基础概念 memca ...
- C#:memcached安装及.NET中的Memcached.ClientLibrary使用详解
memcached分布式缓存的负载均衡配置比例,数据压缩,socket的详细配置等,以及在.net中的常用方法. 下载地址:http://pan.baidu.com/s/1yVILw 提取 ...
- 使用memcached缓存 替代solr中的LRUCache缓存
前沿 在搜索引擎中,缓存被当做是不可缺少的部分,但是很多情况下,将缓存的实现过度依赖于分发服务器及webserver会很大程度上加重webserver 的负担,具体表现就是经常性的假死,拒绝服务,因此 ...
- Redis缓存在django中的配置
django settings中的配置 # 缓存 CACHES = { "default": { "BACKEND": "django_redis. ...
随机推荐
- hiho #1305 区间求差
#1305 : 区间求差 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个区间集合 A 和 B,其中集合 A 包含 N 个区间[ A1, A2 ], [ A3, ...
- ClearCanvas DICOM 开发系列 一
概述 C#开源的DICOM server.支持影像处理.影像归档.影像管理.影像传输和影像浏览功能.开源代码可学习地方很多. 官方网站:http://www.clearcanvas.ca buildi ...
- BZOJ 3111: [Zjoi2013]蚂蚁寻路
Sol DP. 首先观察转折,画画图,看看移动路线,可以非常轻易的发现如果走到起点的下方是回不去的.. 然后它就相当于一个底部是平的,顶部凹凹凸凸的形状,每右转两次或左转两次就会形成小矩阵,这样就可以 ...
- c_水程序
* ** This program reads input lines from the standard input and prints ** each input line, followed ...
- Javaweb Servlet出现Class xxx is not a servlet错误原因
- youtube视频批量下载
youtube 下载视频脚本: 得到下载列表:download_list var links = document.getElementsByTagName('a'); for(var i =0;i& ...
- JAVA8 十大新特性详解
前言: Java8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章, 例如Playing with Java ...
- jdbc事务处理和连接池
JDBC: * JDBC概念:Java DataBase Connectivity(Java数据库连接) SUN公司提供的一组连接数据库API. * JDBC开发步骤: * 1.注册驱动. * 2.获 ...
- json和对象、list互转
1.把对象,list转成json: import com.alibaba.fastjson.JSONObject; Object obj = new Object(); // ... String o ...
- perl 二维数组
perl没有真正的二维数组,所谓的二维数组其实是把一维数组以引用的方式放到另外一个一维数组. 二维数组定义 : my @array1=([1,2],[3,4],[45,9],[66,-5]); ...