分享

在web中使用memcache分布式缓存

 昵称10504424 2012-09-10

在web中使用memcache分布式缓存

在这之前,一直使用,也有过技术总结,但是都是个人文档,记录在本地上的,既然开通博客了,索性都拿出来,和大家一起分享,或许还可以得到大家的建议。

使用之前,分布式缓存,这个名头听起来挺吓人,但是实际去操作的时候,你会发现,简单的很呐,不过确实是非常的爽

首先下载memcache的安装包:可以在这个下载地址http:///,最新版本1.4.15,不过我在这里使用的是1.2.6,大同小异。

1.解压下载目录到你的磁盘中,然后找到memcache.exe所在的目录,双击exe安装,或者可是使用dos命令来安装,例如:

在这里,我已经安装过了,所以提示我安装失败,或者是已经安装,安装好以后,默认监听端口11211,打开服务后,应该有此项:

那么怎么监测安装是否成功了?这里我偷懒了,粘贴过来(开启telnet服务后,你可以使用telnet IP:端口 ,进入后输入stats)

到此,安装成功,也可以使用命令直接在dos窗口中给memcache添加缓存

 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 –m 200来调整最大内存占用之后会发现没有起作用,总是默认的64MB的内存,在网上搜了一下,原因是注册表中并没有写入信息,可以这样来修改。
         1. memcached –d shutdown 首先关闭memcached服务。
         2.进入注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server, 在其中有一个ImagePath项,值为"d:\memcached\memcached.exe" -d runservice,在后面加上-l 127.0.0.1 -m 3000 -c 2048。
        3.memcached –d start 启动memcached服务,这样就将memcached的最大内存修改为了3000MB。
        对Memcached缓存服务的状态查询,可以先telnet连接上服务:telnet 127.0.0.1 11211 ,然后使用 stats命令查看缓存服务的状态,会返回如下的数据:   
        time:    1255537291                               服务器当前的unix时间戳
        total_items:    54                                     从服务器启动以后存储的items总数量
        connection_structures:    19                    服务器分配的连接构造数
        version:    1.2.6                                        memcache版本
        limit_maxbytes:    67108864                    分配给memcache的内存大小(字节)
        cmd_get:    1645                                      get命令(获取)总请求次数
        evictions:    0                                            为获取空闲内存而删除的items数(分配给memcache的空间用满后需
                                                                         要删除旧的items来得到空间分配给新的items)
        total_connections:    19                           从服务器启动以后曾经打开过的连接数
        bytes:    248723                                      当前服务器存储items占用的字节数
        threads:    1                                             当前线程数
        get_misses:    82                                      总未命中次数
        pointer_size:    32                                    当前操作系统的指针大小(32位系统一般是32bit)
        bytes_read:    490982                              总读取字节数(请求字节数)
        uptime:    161                                           服务器已经运行的秒数
        curr_connections:    18                             当前打开着的连接数
        pid:    2816                                               memcache服务器的进程ID
        bytes_written:    16517259                     总发送字节数(结果字节数)
        get_hits:    1563                                      总命中次数
        cmd_set:    54                                          set命令(保存)总请求次数
        curr_items:    28                                       服务器当前存储的items数量

到此,memcache安装部署完毕,但是呢,并不是什么情况下使用memcache都好,毕竟把缓存放在本机上怎么说都快过了放在其它机器上,下章来继续说,怎么使用C#操作memcache,刚入博客园,文章可能写的很烂,但是坚持,同时也希望各位多多给予评价,小弟不胜感激!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多