MemCache在Windows下环境的搭建及启动

sc create "memcached-11212" start= auto binPath= "D:\memcached_en32or64\x64\memcached.exe -d runservice  -m 621 -p 11212" DisplayName= "memcached-11212"

 

首先,它是什么?

memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前网站使用以提高网站的访问速度,尤其对一些大型的,需要频繁访问数据库的网站速度提升效果十分显著。这是一套开放源代码的软件,以BSD license授权发布。

 

那么memcache是如何运行的呢?

MemCache的工作流程如下:先检查客户端请求的数据是否存在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时,更新memcached中的数据,保证一致性。当分配给memcached的内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略 + 到期失效策略,失效数据首先被替换,然后再替换到最近未使用的数据。

MemCache是一个高性能的分布式的内存缓存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视屏、文件以及数据库检索的结果等。简单的来说就是将数据调用到内存中,然后,从内存中读取,从而大大提高读取速度。

MemCache是danga的一个项目,最早是LiveJournal服务的,最初为了加速LiveJournal访问速度而开发的,后来被很多大型网站所采用。

MemCache是以守护程序(监听)方式运行于一个或者多个服务器中,随时会接受客户端的连接和操作。

 

memcached搭建第一步

下载memcached的安装包,memcached_en32or64.zip。

 

memcached搭建第二步

解压到自己感觉比较爽的目录。

 

 

memcached搭建第三步

Window + R快捷键打开系统的菜单,在搜索程序和文件查找cmd.exe,以管理员的身份执行,并进入到memcached的解压路径,执行命令:memcached -d install,如果没有抛错说明安装成功。

 

 

memcached搭建第四步

Window + R快捷键打开系统的菜单,在搜索程序和文件中执行services.msc打开服务器管理界面,可以查看memcached服务。

 

 

memcached搭建第五步

也可以在dos命令行界面执行命令:net start "Mecached Server"来启动memcached服务。

 

 


---------------------
作者:朦胧风雨情
来源:CSDN
原文:https://blog.csdn.net/focus_yun/article/details/50812070?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

1.memcache的安装和配置:

  下载memcache  for windows:

  http://up.2cto.com/2012/0522/20120522094758371.rar

  解压到指定目录:

  运行memcache.exe

  在资源管理器中,查看running状态,若服务未启动,可通过手动的方式启动。

  

  通过telnet命令,判断服务器是否可用。

  

  进入,刚开始,什么都不会显示,回车输入stats可以查看统计信息:

  基本参数如下:

  stats

  STAT pid 11724    服务器进程ID

  STAT uptime 265   服务器运行时间,单位秒

  STAT time 1396578147   服务器当前的UNIX时间

  STAT version 1.4.4-14-g9c660c0  服务器版本号

  STAT pointer_size 32

  STAT curr_connections 10   连接数量

  STAT total_connections 11   服务器运行以来接受的连接总数

  STAT connection_structures 11  服务器分配的连接结构的数量

  STAT cmd_get 0  取回请求总数

  STAT cmd_set 0   存储请求总数

  STAT cmd_flush 0  

  STAT get_hits 0   请求成功的总次数

  STAT get_misses 0  请求失败的总次数

  STAT delete_misses 0

  STAT delete_hits 0

  STAT incr_misses 0

  STAT incr_hits 0

  STAT decr_misses 0

  STAT decr_hits 0

  STAT cas_misses 0

  STAT cas_hits 0

  STAT cas_badval 0

  STAT auth_cmds 0

  STAT auth_errors 0

  STAT bytes_read 15

  STAT bytes_written 7

  STAT limit_maxbytes 67108864

  STAT accepting_conns 1

  STAT listen_disabled_num 0

  STAT threads 4

  STAT conn_yields 0

  STAT bytes 0

  STAT curr_items 0

  STAT total_items 0

  STAT evictions 0

  END

  缓存命中率=get_his/cmd_get*100

  get_his+get_misses=cmd_get

  total_itemscurr_items表示现在缓存中的键值对个数

2. 常用方法:

   set(key,value,timeout)  把key映射到value,timeout指的是什么时候这个映射失效

   add(key,value,timeout)  仅当存储空间中不存在键相同的数据时才保存

   replace(key,value,timeout)  仅当存储空间中存在键相同的数据时才保存

  获取数据

  get(key)  返回key所指向的value

  get_multi(key1,key2,key3,key4) 可以非同步地同时取得多个键值, 比循环调用get快数十倍

  删除数据

  delete(key, timeout) 删除键为key的数据,timeout为时间值,禁止在timeout时间内名为key的键保存新数据(set函数无效)

3.安装Python  memcached

  下载地址:ftp://ftp.tummy.com/pub/python-memcached/python-memcached-1.53.tar.gz

  解压,安装

   

   在python中导入memcache模块就可以了

   import  memcache

4.例子:

    #coding:utf-8

     import memcache,time

    mc=memcache.Client(['127.0.0.1:11211'],debug=0)

    mc.set('foo','bar')

    value=mc.get('foo')

    print value

 

posted on 2018-10-12 17:30  ExplorerMan  阅读(296)  评论(0编辑  收藏  举报

导航