Linux下MemCached安装及c#客户端调用
一、Linux下MemCached安装和启动
如果是centos可以yum安装
# yum install libevent-devel
如果不支持yum的系统,可以这样装libevent
# cd /usr/local/src
# wget
# tar vxf libevent-1.4.12-stable.tar.gz
# cd libevent-1.4.12
# –prefix=/usr/local/libevent
# make && make install
继续安装memcached
# cd /usr/local/src
# wget
# tar vxf memcached-1.4.4.tar.gz
# cd memcached-1.4.4
# –prefix=/usr/local/memcached
# make && make install
安装完后启动memcached并分配1024m内存
/usr/local/memcached/bin/memcached -d -m 1024 –l 10.32.33.120 -p 11211 -u root
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址10.32.33.120,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
将memcached加入启动项
# vi /etc/rc.d/rc.local
在最后加入
/usr/local/memcached/bin/memcached -d -m 1024 –l 10.32.33.120 -p 11211 -u root
按Esc键,再输入
:wq
保存退出
查看是否启动memcached
获取运行状态:echo stats | nc 10.32.33.120 11211(可以查看出pid) 或使用ps -ef|grep memcached
如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
也可以
#kill –9 进程号
二、连接到 memcached
连接到 memcached:
telnet ip 端口,如telnet 10.32.33.120 11211
stats查看状态,flush_all:清楚缓存
查看memcached状态的基本命令,通过这个命令可以看到如下信息:
STAT pid 22459 进程ID
STAT uptime 1027046 服务器运行秒数
STAT time 1273043062 服务器当前unix时间戳
STAT version 1.4.4 服务器版本
STAT pointer_size 64 操作系统字大小(这台服务器是64位的)
STAT rusage_user 0.040000 进程累计用户时间
STAT rusage_system 0.260000 进程累计系统时间
STAT curr_connections 10 当前打开连接数
STAT total_connections 82 曾打开的连接总数
STAT connection_structures 13 服务器分配的连接结构数
STAT cmd_get 54 执行get命令总数
STAT cmd_set 34 执行set命令总数
STAT cmd_flush 3 指向flush_all命令总数
STAT get_hits 9 get命中次数
STAT get_misses 45 get未命中次数
STAT delete_misses 5 delete未命中次数
STAT delete_hits 1 delete命中次数
STAT incr_misses 0 incr未命中次数
STAT incr_hits 0 incr命中次数
STAT decr_misses 0 decr未命中次数
STAT decr_hits 0 decr命中次数
STAT cas_misses 0 cas未命中次数
STAT cas_hits 0 cas命中次数
STAT cas_badval 0 使用擦拭次数
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785 读取字节总数
STAT bytes_written 15222 写入字节总数
STAT limit_maxbytes 1048576 分配的内存数(字节)
STAT accepting_conns 1 目前接受的链接数
STAT listen_disabled_num 0
STAT threads 4 线程数
STAT conn_yields 0
STAT bytes 0 存储item字节数
STAT curr_items 0 item个数
STAT total_items 34 item总数
STAT evictions 0 为获取空间删除item的总数
三、c#调用
MemCache管理操作类,MemCachedManager.cs文件:
cache操作接口类ICacheStrategy.cs(为了方便扩展其他的cache):
MemCached.cs类
实体类MemCachedConfigInfo.cs
实现代码完了,下面就是把配置文件memcached.config反序列化成实体方法
用MemCachedConfig.cs实现配置文件的载入和读取LoadConfig是载入配置,SetConfig是保存配置,GetConfig是获取配置,其中用了了序列化和反序列化
MemCachedConfig.cs文件如下:
SerializationHelper.cs代码如下:
最后配置文件类似这样的:
使用时调用方法:
MemCachedConfig.LoadConfig(Server.MapPath("/config/memcached.config"));
这个方法通过LoadConfig把配置加载进来,反序列化成MemCachedConfigInfo实体并放入私有静态变量config 中,并通过GetConfig() 获取config,然后MemCachedManager类通过private static MemCachedConfigInfo memCachedConfigInfo=MemCachedConfig.GetConfig();方法获取到配置了。
文章来源:
时间:(2024-02-07 14:55:55)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!