今天总结一下如何在Windows操作系统中安装、启动和卸载memcached:
下载地址: http://download.csdn.net/download/wangshuxuncom/8249501

或者(https://files.cnblogs.com/files/chy123/memcached_win64%28jb51.net%29.rar

2、解压获取到的压缩文件,将得到一个名为“memcached-1.2.6-win32-bin”的文件夹,将该文件夹拷贝到自认为适当的位置(比如拷贝到C盘根目录);
3、通过cmd命令进入Windows的命令行模式,输入如下命令“cd /d C:\memcached-1.2.6-win32-bin”,敲击回车键,得到下图:

4、下面依次介绍memcached的安装、启动和卸载:
a、在第3步中输入“memcached.exe -d install”,然后点击回车键,得到下图:

b、上述命令执行过后在“服务”列表中会看到memcached已列入其中:

a、在上图中我们看到新安装的memcached并没有处于启动状态,如何启动它呢?在命令行窗口中执行“memcached.exe -d start”,得到下图:

b、执行过上面的命令后,刷新“服务”列表,即可看到memcached已经启动:

或者启动任务管理器查看进程:

a、在卸载memcached以前,要先停止其启动,否则会出现如下问题:

b、通过在命令行窗口执行“memcached.exe -d stop”即可将memcached置于停用状态,如下图:

c、在命令行窗口执行“memcached.exe -d uninstall”即可将memcached卸载下来。

d、安装完成后,下面就进入测试的环节

输入命令行telnet 127.0.0.1 11211进行测试:如果安装成功的话会跳出一个dos页面,开始什么都不显示,回车后输入命令  stats  查看统计信息,如下图,说明服务器运作正常。(备注:win7中可能会出现“telnet’不是内部或外部命令”的错误,这是因为系统中默认没有安装telnet的缘故,可在“控制面板”->“程序”->“程序和功能”->“打开或关闭Windows功能”中打开“Telnet客户端”。)

连接上端口后输入 stats命令,即可得到描述Memcached服务器运行情况的参数。 
STAT pid 4356 服务器进程ID 
STAT uptime 56625 服务器运行时间,单位秒 
STAT time 1225249079 服务器当前的UNIX时间 
STAT version 1.1.0 服务器的版本号 
STAT pointer_size 64 
STAT rusage_user 151.845489 该进程累计的用户时间(秒:微妙) 
STAT rusage_system 121.667603 该进程累计的系统时间(秒:微妙) 
STAT ibuffer_size 4096 
STAT curr_connections 13 连接数量 
STAT total_connections 54136 服务器运行以来接受的连接总数 
STAT connection_structures 318 服务器分配的连接结构的数量 
STAT cmd_get 100595 取回请求总数 
STAT cmd_set 6510 存储请求总数 
STAT get_hits 96543 请求成功的总次数 
STAT get_misses 4052 请求失败的总次数 
STAT bytes_read 4427679 服务器从网络读取到的总字节数 
STAT bytes_written 6585596 服务器向网络发送的总字节数

e、windows php5.4.3添加memcache扩展

memcache与memcached的区别:Memcached是一个内存缓存系统,而Memcache是php的一个扩展,是php用于操作和管理Memcached的工具。如果安装了Memcached但没有安装Memcache,等于只是安装了缓存服务,但是php无法操控Memcached,但是可以使用命令行来操控Memcached;如果安装了Memcache却没安装Memcached,则无法使用。只有同时安装了Memcached和Memcache,才能在PHP中使用Memcached。

php5.4.3添加memcache扩展,必须是指定对应的版本扩展,不然不生效。
首先下载php5.4对应版本的php_memcache.dll扩展。
下载地址:http://download.csdn.net/detail/wwenwei2011/5102338

https://pecl.php.net/package/memcache

使用phpinfo()函数查看PHP的版本信息,是否线程安全,以及编译版本,这会决定扩展文件版本,以及php.ini
的地址,以及扩展存放地址,如果是wamp。一定要注意版本位数不然容易出现Fatal error: Class 'Memcache' not found

解压缩后,将php_memcache.dll拷贝至php的ext目录下
修改php.ini,(PS:此php.ini文件是在Apache目录)在该文件中加入:
extension=php_memcache.dll

重启Apache后,使用phpinfo查看扩展是否成功安装

参考文档:http://www.tuicool.com/articles/nyIjQvZ

http://www.jb51.net/article/63601.htm
https://pecl.php.net/package/memcache

测试php链接:memcache扩展包中自带的example.php

管理工具:

1:C# 实现 MemCache 监控管理工具  参考网址:http://www.cnblogs.com/xffy1028/archive/2013/02/01/2861706.html  这个客户端在windows下面用还行

2:web页面

  i:参考网址:http://www.junopen.com/memadmin/

ii:参考网址:http://www.treesoft.cn/dms.html

iii:memcache扩展包中自带的memcache.php 参考网址:http://www.cnblogs.com/zhuque/archive/2012/11/05/2763346.html

memcached安全验证:参考文档:http://www.jb51.net/article/27195.htm

Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄露被其他无关人员查看,重则服务器被入侵,因为Mecache是以root权限运行的,况且里面可能存在一些我们未知的bug或者是缓冲区溢出的情况,这些都是我们未知的,所以危险性是可以预见的。为了安全起见,我做两点建议,能够稍微的防止黑客的入侵或者数据的泄露。

内网访问 
最好把两台服务器之间的访问是内网形态的,一般是Web服务器跟Memcache服务器之间。普遍的服务器都是有两块网卡,一块指向互联网,一块指向内网,那么就让Web服务器通过内网的网卡来访问Memcache服务器,我们Memcache的服务器上启动的时候就监听内网的IP地址和端口,内网间的访问能够有效阻止其他非法的访问。 
# memcached -d -m 1024 -u root -l 192.168.0.200 -p 11211 -c 1024 -P /tmp/memcached.pid 
Memcache服务器端设置监听通过内网的192.168.0.200的ip的11211端口,占用1024MB内存,并且允许最大1024个并发连接

设置防火墙 
防火墙是简单有效的方式,如果却是两台服务器都是挂在网的,并且需要通过外网IP来访问Memcache的话,那么可以考虑使用防火墙或者代理程序来过滤非法访问。 
一般我们在Linux下可以使用iptables或者FreeBSD下的ipfw来指定一些规则防止一些非法的访问,比如我们可以设置只允许我们的Web服务器来访问我们Memcache服务器,同时阻止其他的访问。 
# iptables -F 
# iptables -P INPUT DROP 
# iptables -A INPUT -p tcp -s 192.168.0.2 –dport 11211 -j ACCEPT 
# iptables -A INPUT -p udp -s 192.168.0.2 –dport 11211 -j ACCEPT 
上面的iptables规则就是只允许192.168.0.2这台Web服务器对Memcache服务器的访问,能够有效的阻止一些非法访问,相应的也可以增加一些其他的规则来加强安全性,这个可以根据自己的需要来做

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Memcached一些特性和限制 参考文档:https://www.oschina.net/question/234345_42556
• 在 Memcached 中可以保存的item数据量是没有限制的,只有内存足够 
• Memcached单进程最大使用内存为2G,要使用更多内存,可以分多个端口开启多个Memcached进程 
• 最大30天的数据过期时间, 设置为永久的也会在这个时间过期,常量REALTIME_MAXDELTA 
60*60*24*30 控制 
• 最大键长为250字节,大于该长度无法存储,常量KEY_MAX_LENGTH 250 控制 
• 单个item最大数据是1MB,超过1MB数据不予存储,常量POWER_BLOCK 1048576 进行控制, 
它是默认的slab大小 
• 最大同时连接数是200,通过 conn_init()中的freetotal 进行控制,最大软连接数是1024,通过 
settings.maxconns=1024 进行控制 
• 跟空间占用相关的参数:settings.factor=1.25, settings.chunk_size=48, 影响slab的数据占用和步进方式
 
查看Memcached内部工作状态 
访问Memcached:telnet 主机名 端口号 
查看总状态:stats 
查看某项状态:stats curr_connections 
禁止LRU 
有些情况下LRU机制反倒会造成麻烦。memcached启动时通过“-M”参数可以禁止LRU, 
如下所示: 
$ memcached -M -m 1024 
启动时必须注意的是,小写的“-m”选项是用来指定最大内存大小的。不指定具体数值则 
使用默认值64MB。 
指定“-M”参数启动后,内存用尽时memcached会返回错误。话说回来,memcached毕 
竟不是存储器,而是缓存,所以推荐使用LRU。
 
Memcached使用线程模式工作 
在安装的时候必须打开:./configure --enable-threads 
安装完之后,启动的时候看看帮助信息有没有这条: 
-t <num> number of threads to use, default 4 
如果存在该选项,说明已经支持了线程,就可以在启动的时候使用 -t 选项来启动多线程 
然后启动的时候必须加上你需要支持的线程数量: 
/usr/local/memcache/bin/memcached -t 1024
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

windows操作系统中安装、启动和卸载memcached的更多相关文章

  1. 在Windows操作系统中安装MongoDB

    如何在Windows操作系统中安装MongoDB: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ 启动Mon ...

  2. Git—怎样Windows操作系统中安装Git

    介绍一下怎样在Windows操作系统中安装Git: 一.下载Git安装压缩文件:http://download.csdn.net/detail/wangshuxuncom/8035045 二.解压该压 ...

  3. Maven—Windows操作系统中安装配置Maven环境

    今天难得的周末,借此难的机会总结一下关于maven的一些操作: 1.在安装maven之前要确认计算机已经安装并配置了JDK. 2.下载maven: maven-3.0.3:http://downloa ...

  4. 在Windows系统中安装集成的PHP开发环境

    原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...

  5. 在64位Win7操作系统中安装Microsoft Access Engine的解决方案

    在64位Win7操作系统中安装Microsoft Access Engine的解决方案 现在的Win7系统中安装的一般都是32位的Office,因为微软推荐使用32位的Office,兼容性更强,稳定性 ...

  6. [转]在 Windows 操作系统中的已知安全标识符(Sid security identifiers)

    安全标识符 (SID) 是用于标识安全主体或安全组在 Windows 操作系统中的可变长度的唯一值.常用 Sid 的 Sid 标识普通用户的一组或通用组.跨所有操作系统,它们的值保持不变. 此信息可用 ...

  7. mysql绿色版在windows系统中的启动

    mysql绿色版在windows系统中的启动 1.下载mysql免安装版 例如:mysql-5.7.11-winx64 2.修改配置文件,my-default.ini名称改为:my.ini,文件里面的 ...

  8. 在Windows操作系统中,如何终止占有的8080端口的tomcat进程

    在Windows操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器. 本文将通过命令来强行终止这个已经运行的tomca ...

  9. Ant—怎样Windows操作系统中搭建Apache Ant环境

    介绍一下怎样在Windows操作系统中搭建Apache Ant环境: 一.下载Apache Ant压缩文件:http://download.csdn.net/detail/wangshuxuncom/ ...

随机推荐

  1. Android4.0 Launcher拖拽原理分析

    在Android4.0源码自带的Launcher中,拖拽是由DragController进行控制的. 1) 先来看看类之间的继承关系 2)再来看看Launcher拖拽流程的时序图   1.基本流程: ...

  2. 命令行创建Android应用,命令行生成签名文件,命令行查看签名信息,对APK包签名并编译运行

    一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...

  3. jquery插件开发的demo

    (function ($) { $.fn.extend({ "highLight": function (options) { //检测用户传进来的参数是否合法 if (!isVa ...

  4. java NIO系列教程1

    ava NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式. Java NIO: Channel ...

  5. 【云+社区极客说】新一代大数据技术:构建PB级云端数仓实践

    本文来自腾讯云技术沙龙,本次沙龙主题为构建PB级云端数仓实践 在现代社会中,随着4G和光纤网络的普及.智能终端更清晰的摄像头和更灵敏的传感器.物联网设备入网等等而产生的数据,导致了PB级储存的需求加大 ...

  6. Spring Boot 不使用默认的 parent,改用自己的项目的 parent

    在初学spring boot时,官方示例中,都是让我们继承一个spring的 spring-boot-starter-parent 这个parent: <parent> <group ...

  7. ROR中h()方法和sanitize的区别及Html Filter

    一般来说,通常使用input的field都会做一些filter的动作,避免被不怀好意之徒塞一些危险的HTML code(script等)进去搞破坏.在ROR中,我们在前面加一个h()(一般不用括号?不 ...

  8. npm run build之后生成的dist如何扔到服务器运行(npm run build之后如何本地运行)

    运行npm run build之后,会生成一个dist文件夹,里面的目录结构大概是这样的: 生成完的文件我们怎么来运行呢?直接在本地打开inde.html是无法运行的,打包的时候有提示: 构建文件应该 ...

  9. shellExcute 与shellExcuteex 的一些东西

    最近在做外部调用exe并传给exe相应参数 方法有两种.. 1,用program.start() 2,shell() 3,调用API 以下内容来自http://www.pinvoke.net/defa ...

  10. Sql Server 中使用日期遍历

    一个存储过程小案例,内容如下: declare @dt datetime set @dt='2016-01-01' while (@dt<='2016-12-31') begin -- 转换字符 ...