Memcached在.NET中的应用(转载)

本文介绍了Memcached在.NET环境下的使用方法,包括连接池配置、客户端操作内存数据的API介绍,以及如何设置、添加、删除、替换和压缩数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Memcached在.NET中的应用

先熟悉一下Memcached.ClientLibrary 这个.NET环境下的API
$$-SockIOPool-$$
客户端到memcached服务器端的socket连接池
创建连接池
SockIOPool pool = SockIOPool.GetInstance(); // = SockIOPool pool = SockIOPool.GetInstance("default pool");
设置连接池管理的链接
pool.SetServers(["192.168.1.2:11211","192.168.1.3:11211"]); // = poo.SetServers(new ArrayList(["192.168.1.2:11211","192.168.1.3:11211"]));
设置连接池的初始容量,最小容量,最大容量,Socket 读取超时时间,Socket连接超时时间
pool.InitConnections = 3; // default 3
pool.MinConnections = 3; // default 3
pool.MaxConnections = 5;// default 5
pool.SocketConnectTimeOut = 50; // default 50,25 倍数 
pool.SocketTimeOut = 3000; //
到上面为止只是设置了基础属性,pool里面还没有供你可以使用的socket
poo.Initialize(); // 此时容器才正式初始化,此外还有一些辅助和状态判断的方法属性,略
$$-SockIO-$$
Socket的包装类,SockIOPool里面装的就是它
$$-MemcachedClient-$$
主要通过这个类来操作内存数据这是我们主要使用的API
功能:设置,添加,删除,替换,压缩、解压缩数据
创建
MemcachedClient mc = new MemcachedClient();
修改数据
string key = "key1";
string value = "value1";
mc.add(key,value);
mc.set(key,value); // 存在=raplace,不存在=add
mc.replace(key,value);
获取
mc.get(key);
mc.getMulti({"key1","key2"});
删除
mc.delete(key);
全部清除
mc.FlushAll();
当作计数器
mc.storeCount(key,counter);//counter计数器 long型

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。通过memcached协议与守护进程通信。

memcached-Server端

在服务端运行:

  # ./memcached -d -m 2048 -l 10.0.0.40 -p 11211

  这将会启动一个占用2G内存的进程,并打开11211端口用于接收请求。由于32位系统只能处理4G内存的寻址,所以在大于4G内存使用PAE的32位服务器上可以运行2-3个进程,并在不同端口进行监听。

 memcached-Client端

先熟悉一下Memcached.ClientLibrary 这个.NET环境下的API
$$-SockIOPool-$$
客户端到memcached服务器端的socket连接池
创建连接池SockIOPool pool = SockIOPool.GetInstance(); 等价于 SockIOPool pool = SockIOPool.GetInstance("default pool");

设置连接池管理的链接pool.SetServers(["192.168.1.2:11211","192.168.1.3:11211"]); 等价于poo.SetServers(new ArrayList(["192.168.1.2:11211","192.168.1.3:11211"]));

设置连接池的初始容量,最小容量,最大容量,Socket 读取超时时间,Socket连接超时时间

pool.InitConnections = 3; // default 3

pool.MinConnections = 3; // default 3

pool.MaxConnections = 5;// default 5

pool.SocketConnectTimeOut = 50; // default 50,25 倍数 

pool.SocketTimeOut = 3000;

到上面为止只是设置了基础属性,pool里面还没有供你可以使用的

socketpoo.Initialize(); // 此时容器才正式初始化,此外还有一些辅助和状态判断的方法属性,略

 

$$-SockIO-$$
Socket的包装类,SockIOPool里面装的就是它

$$-MemcachedClient-$$
主要通过这个类来操作内存数据这是我们主要使用的API
功能:设置,添加,删除,替换,压缩、解压缩数据
创建MemcachedClient mc = new MemcachedClient();

修改数据string key = "key1";string value = "value1";

mc.replace(key,value);mc.add(key,value);mc.set(key,value); // 存在=raplace,不存在=add

mc.get(key);//获取

mc.getMulti({"key1","key2"});

mc.delete(key);//删除

mc.FlushAll();//全部清除

mc.storeCount(key,counter);//当作计数器,counter计数器 long型

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值