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:
解压到指定目录:
运行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
下载地址:
解压,安装
在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