.NET+BeIT Memcached实现分布式缓存系统Memcached

Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

Memcached的缓存是一种分布式的,可以让不同主机上的多个用户同时访问, 因此解决了共享内存只能单机应用的局限,更不会出现使用数据库做类似事情的时候,磁盘开销和阻塞的发生。
1、先在这里下载:http://code.google.com/p/beitmemcached/,把Memcached_1.2.5.zip 和BeITMemcached_source_2008_05_31.zip两个压缩包下在下来。

2、解压Memcached_1.2.5.zip ,它是memcached的服务器端。

3、把Memcached_1.2.5复制到你指定的做为缓存服务器的电脑上,比如叫做192.168.0.1。

4、cmd下运行类似命令 ‘d:\memcached\memcached.exe -d install’ 安装服务器端,这时候它应该会出现在windows服务中.

5、cmd下运行类似命令 ‘d:\memcached\memcached.exe -d start’启动服务,看服务器进程中是否有memcached进程。

6、确认服务器端口11211是否开放(防火墙设置中),否则其他机器无法访问.

7、服务器端这时已经安装完毕、在其他机器上测试一下,cmd输入telnet 192.168.0.1 11211看能否登录。

8、解压BeITMemcached_source_2008_05_31.zip,它是.net 2.0开发的客户端,里面是全部源代码和一个调用示例。

9、用对应版本的vss打开项目,如果感兴趣就慢慢研究代码,不感兴趣就选择生成类库,编译一个BeITMemcached.dll出来。

10、新建一个控制台程序,引用BeITMemcached.dll,输入类似代码测试:

using System;

using BeIT.MemCached;

namespace ConsoleApplication3{

class Program    {

static void Main(string[] args)        {

MemcachedClient.Setup(“TestCache”, new string[] { “192.168.0.1” });

MemcachedClient cache = MemcachedClient.GetInstance(“TestCache”);

cache.SendReceieveTimeout = 5000;

cache.MinPoolSize = 1;

cache.MaxPoolSize = 5;

cache.Set(“jinjazz”, “剪刀”);

object obj = cache.Get(“jinjazz”);

Console.WriteLine(obj);

Console.Read();

}    }}

一个分布式缓存的例子就这么简单,和操作hashtable基本上一样容易。
11、查看缓存运行状态,这个你需要熟悉一些memcached的基本命令
先在你机器上输入telnet 192.168.0.1 11211,进入telnet摸黑输入stats,会出来如下结果,可能对你有用的我后面加了注释

STAT pid 2928STAT uptime 139279

STAT time 1216258406STAT version 1.2.5

STAT pointer_size 32STAT curr_items 4

STAT total_items 6STAT bytes 1052947

STAT curr_connections 2

STAT total_connections 10

STAT connection_structures 4

STAT cmd_get 13 //读取13次

STAT cmd_set 6 //设置6次

STAT get_hits 11 //11次命中

STAT get_misses 2 //2次失败

STAT evictions 0

STAT bytes_read 1053321

STAT bytes_written 6279461

STAT limit_maxbytes 67108864

STAT threads 1END



无觅相关文章插件,快速提升流量

标签:,

实在不堪垃圾评论的骚扰,还是禁止了吧,有事微博联系吧。