windows 中memcached安装配置与使用教程

memcached软件下载安装教程

1、下载memcached软件压缩包,里面有32位和64位两个版本,选择你系统对应版本。解压放某个盘下面,比如在D:wampbin目录下

memcached软件下载:memcached.zip

2、在终端(CMD命令行)输入以下命令下:

①输入d:切换至D盘;
②输入cd wampbin切换至D:wampbin目录;
③输入dir查看当前目录下是否有memcached软件。
④输入:
memcached.exe -d install 安装
memcached.exe -d uninstall 卸载
memcached.exe -d stop 停止
memcached.exe -h 获取所有帮助
3、在启动之后连接:
D:wampbin> telnet 127.0.0.1 11211    –连接memcache端口11211使用quit退出。

memcached服务器CMD设置命令

启动Memcache 常用参数
-p 设置端口号(默认不设置为: 11211)
-U UDP监听端口(默认: 11211, 0 时关闭)
-l 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d 独立进程运行:
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 绑定使用指定用于运行进程
-m 允许最大内存用量,单位M (默认: 64 MB)
-P 将PID写入文件,可以使得后边进行快速进程终止,需要与-d 一起使用
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

Memcache的常用操作命令

• 5个常用的命令
– stats: 当前所有memcached服务器运行的状态信息
– add: 添加一个数据到服务器
– set: 替换一个已经存在的数据,如果数据不存在,则和add命令相同。
– get: 从服务器端提取指定的数据。
– delete: 删除指定的单个数据,如果要清除所有数据,可以使用flush_all指令。
 • Memcache的协议的错误部分主要是三个错误提示之提示指令:
– ERROR — 普通错误信息,比如指令错误之类的
– CLIENT_ERROR <错误信息> — 客户端错误
– SERVER_ERROR <错误信息> –服务器端错误
 
数据管理命令
• 格式:<命令> <键> <标记> <有效期> <数据长度>
其中:
– 命令:add(添加)、set(修改)、delete(删除)、get(获取)
– <键> -key,是发送过来指令的key内容
– <标记> – flags,是调用set指令保存数据时候的flags标记
– 有效期:是数据在服务器上的有效期限,如果是0,则数据永远有效,单位是秒
– 数据的长度,block data 块数据的长度,一般在这个个长度结束以后下一行跟着block data数据内容,
– 发送完数据以后,客户端一般等待服务器端的返回,服务器端的返回:
– STORED 数据保存成功
– NOT_STORED 数据保存失败,是因为服务器端这个数据key已经存在

PHP的memcache功能扩展模块安装

①把下载的php_memcache.dll文件放在PHP的扩展库目录下(PHP程序EXT目录下):

②在PHP.INI文件中加入“extension=php_memcache.dll”这句话,打开memcache.dll扩展库:

③重启appache服务。

使用phpinfo()函数查看memcache.dll是否安装成功:

PHP操作MemCache类的方法

Memcache类
Memcache::add ———— 增加一个条目到缓存服务器
Memcache::addServer ————向连接池中添加一个memcache服务器
Memcache::close ————关闭memcache连接
Memcache::connect ————打开一个memcached服务端连接
Memcache::decrement ————减小元素的值
Memcache::delete ————从服务端删除一个元素
Memcache::flush ————清洗(删除)已经存储的所有的元素
Memcache::get ————从服务端检回一个元素
Memcache::getExtendedStats ————缓存服务器池中所有服务器统计信息
Memcache::getServerStatus ———— 获取一个服务器的在线/离线状态
Memcache::getStats ———— 获取服务器统计信息
Memcache::getVersion ———— 返回服务器版本信息
Memcache::increment ———— 增加一个元素的值
Memcache::pconnect ———— 打开一个到服务器的持久化连接
Memcache::replace ———— 替换已经存在的元素的值
Memcache::set ————Store data at the server
Memcache::setCompressThreshold —————开启大值自动压缩
Memcache::setServerParams ————运行时修改服务器参数和状态
Memcache 函数memcache_debug ———— 转换调试输出的开/关

MemCache的实例应用

 代码如下 复制代码

<?php
//1. 创建对象
$mem = newMemcache();
//2. 添加服务器
$mem->addServer("192.168.150.250",11211);
$mem->addServer("192.168.150.138",11211);
$mem->addServer("192.168.112.128",11211);
//3. 放置信息
$mem->add("mystr","hello memcache!",MEMCACHE_COMPRESSED,0);
$mem->add("myarray",array(10,20,30,40),MEMCACHE_COMPRESSED,0);
$mem->add("myob",newStu(),MEMCACHE_COMPRESSED,0);
//4. 获取信息
echo $mem->get("mystr")."<br/>";
var_dump($mem->get('myarray'));
echo "<br/>";
$mem->get("myob")->getinfo();
?>

MemCache的实例应用

<?php
    //创建memcache对象
    $mem = new Memcache;
 
    //连接memcache服务器
    $mem -> connect("localhost", 11211);
 
    class Test {
        public $a=1;
        public $b=2;
        public $c=3;
    }
 
    $mem -> add("one", "this is memecache test!", MEMCACHE_COMPRESSED, time()+60*60*24*31);
    $mem -> add("two", array("111", "222", "3333"), MEMCACHE_COMPRESSED, 0);
    $mem -> add("three",new Test(), MEMCACHE_COMPRESSED, 0 );
    $mem -> add("four", 100, MEMCACHE_COMPRESSED, 0);
 
    $mem -> set("five", "this is a demo!", MEMCACHE_COMPRESSED, 1000);
 
    var_dump($mem->get("one"));
    echo '<br>';
 
    var_dump($mem->get("two"));
    echo '<br>';
 
    var_dump($mem->get("three"));
    echo '<br>';
 
    var_dump($mem->get("five"));
    echo '<br>';
 
    var_dump($mem->get("four"));
    echo '<br>';
 
    var_dump($mem->get(array("one", "five")));
    echo '<br>';
 
    $mem -> delete("one");
    $mem -> delete("two", 0);  
    $mem -> flush();
 
    $mem -> close();
?>

memcached服务器的安全防护

访问mysql数据库服务器时必须通过用户验证后才能进入,而访问memcached服务器则是直接通过客户端连接操作,没有任何验证过程。服务器如果直接暴漏在互联网上是非常危险的,轻则数据泄漏,重则服务器被入侵,还有可能存在一些未知的情况,所以危险性是可以预见的。为了安全起见,有以下两种方法:
1.内网访问
内网间的访问能够有效阻止其他非法的访问。如果让分布式的多个memcached服务器只在内部局域网中访问,需要设置Web服务器中的一块网卡在内网访问memcached服务器,Web服务器的另外一个网卡对外网。并在memcached服务器启动的时候就监听内网的IP地址和端口,memcached的启动选项使用如下所示:
memcached -d -m 1024 -u root –l 192.168.0.10 –p 11211 –c 1024 start
该命令设置memcached服务器在启动后监听内网的IP地址192.168.0.10,监听端口11211,占用1024MB内存,并且允许最大1024个并发连接。
2.设置防火墙
设置防火墙是简单有效的方式,如果memcached和Web Server在同一台机器上,或只要是有通过外网IP来访问memcached的情况就需要使用防火墙或者代理程序来过滤非法访问。一般在Linux系统下常用iptables来指定一些规则防止一些非法的访问。例如,设置只允许自己的Web服务器来访问我们的memcached服务器,同时组织其他的访问。防火墙iptables的规则设置如下所示:
iptables –F
iptables –P INPUT DROP
iptables –A INPUT –p tcp –s 192.168.0.10 –-dport 11211 –j ACCEPT
iptables –A INPUT –p udp –s 192.168.0.10 –-dport 11211 –j ACCEPT
上面的iptables规则只允许192.168.0.10这台Web服务器对memcached服务器的访问,能够阻止一些非法访问。当然也可以增加一些其他的规则来加强安全性,需要根据自己的需要来进行设置。

memcache实例应用——缓存数据库数据

在项目中最常见的MemCache应用,就是缓存从数据库中查询的数据结果,以及保存会话控制信息(session)。将数据库查询出来的结果使用memcached服务器进行缓存,以减少频繁的数据库连接及大量的查询对数据库造成的压力。设计的原则是只要数据库中的记录没有被改变,就不需要重新连接数据库并反复执行重复的查询语句,相同的查询结果都应该从缓存服务器中获取。memcache示例如下所示:

 代码如下 复制代码

<?php
    //创建memcache对象
    $mem = new Memcache;
 
    //连接memcache服务器
    $mem -> addServer("localhost", 11211);
    $mem -> addServer("192.168.1.137", 11211);
 
    //数据库的连接和操作
    $sql = "select id, name, pass, age, sex, email from users order by id";
 
    $key=md5($sql);
    //直接从内存memcahce要数据
    $data = $mem->get($key);
 
    //如果用数据就从内容中返回数据, 如果没有才连接数据库,执行SQL语句
    if(empty($data)) {
 
        //连接
        try {
            $pdo = new PDO("mysql:host=localhost;dbname=xsphp", "root", "123456");
        }catch(PDOException $e) {
            echo "数据库连接失败:".$e->getMessage();
        }
 
        //获取数据,执行查询语句
        $stmt = $pdo -> prepare($sql);
 
        $stmt -> execute();
 
        $data = $stmt -> fetchAll(PDO::FETCH_ASSOC);
 
        $mem -> set($key, $data, MEMCACHE_COMPRESSED, 10);
 
        echo "这是第一次访问从数据库获取的数据并放到了内存中!<br>";
    }
 
    echo '<pre>';
    print_r($data);
    echo '</pre>';
 
    //关闭连接
    $mem -> close();
 
?>

 

时间: 2024-10-23 05:51:44

windows 中memcached安装配置与使用教程的相关文章

Windows下MySQL安装配置方法图文教程_Mysql

Windows下的安装与配置MySQL详细步骤思路,分享给大家,供大家参考,具体内容如下 本文介绍Windows XP下的安装与配置. 要想在Windows中运行MySQL,需要: Ø 32位Windows操作系统,例如9x.Me.NT.2000.XP或Windows Server 2003. 基于Windows NT的操作系统(NT,2000,XP,2003),将MySQL服务器做为服务来运行.强烈建议使用基于Windows NT的操作系统. Ø TCP/IP协议支持(也许是所有数据库系统的基

Windows服务器上安装配置Webmail环境教程

相信很多人都尝试自己搭建过邮件服务器(比如hMailserver),搭建之后管理邮箱账号通常是在邮件客户端中进行配置,在这篇文章中周良主要给大家介绍一下如何在Windows环境下如何安装一个Webmail软件(Roundcube),从而实现可以通过网页管理邮件.     首先给大家介绍下我用的这个Webmail软件 – Roundcube webmail,这是一款开源免费基于浏览器的,支持多国语言的IMAP客户端,能够提供Email客户端所具备的必备的功能如地址簿,文件夹操作,拼写检查等.Rou

PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程

这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境,暂且不使用PHP环境搭建软件了,在此详细图解在Windows 7下安装配置PHP+Apache+Mysql环境的教程,希望对PHP初学者有所帮助. 在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包. PHP版本:php-5.3.2-Win32-VC6-x86,VC9是专门为IIS定制的,VC6 是为了其他W

mysql 5.7.13 winx64安装配置方法图文教程(win10)

本文实例为大家分享了mysql 5.7.13 winx64安装配置方法图文教程,供大家参考,具体内容如下 下载 地址:http://dev.mysql.com/downloads/file/?id=463242 安装 1.解压下载好的mysql-5.7.13-winx64.zip到你需要安转的目录(eg:D:\mysql): 2.配置解压目录下的my_default.ini中命名为my.ini 作相关的配置如下: # These are commonly set, remove the # an

Tomcat安装配置方法图文教程_Tomcat

用来进行web开发的工具有很多,Tomcat是其中一个开源的且免费的java Web服务器,是Apache软件基金会的项目.电脑上安装配置Tomcat的方法和java有些相同,不过首先需要配置好java的环境才行,点击此文查看:java环境变量如何配置. 接下来安装配置Tomcat: 1.下载Tomcat文件,文件是一个exe的安装文件,下载后直接安装即可. 下载地址在百度输入Tomcat进入官网即可找到下载文件.安装文件没有什么技巧,一直点击下一步即可. 2.同样安装时注意安装目录,因为一会要

asp.net中如何安装配置jmail组件,能详细点最好。。

问题描述 asp.net中如何安装配置jmail组件,能详细点最好..刚入门...请大家多多关照.在此谢谢大家了 解决方案 解决方案二:1.安装jmail2.找到jmail.dll3.tlbimp.exejmail.dll/out:myJmail.dll/namespace:myJmail4.添加对jmail.dll的引用.解决方案三:4.添加对myJmail.dll的引用.解决方案四:1.运行安装程序;2.把jmail.dll复制到项目bin目录下面3.代码:解决方案五:感谢了,解决方案六:引

在阿里云的CentOS环境中安装配置MySQL的教程_Mysql

1 常规错误的yum安装方法: 在前文中记述了CentOS 6.5系统中通过yum方式快速地搭建了LNMP环境,那么是否也能在CentOS 7或CentOS 7.1系统中依葫芦画瓢安装MySql5.6.24呢?答案是否定的. [root@typecodes ~]# yum -y install mysql mysql-server mysql-devel ...................... ....省略部分安装过程.... ...................... Installe

linux与windows中xcache安装使用教程

XCache是另外一种在PHP中使用的Opcode缓存工具.像APC一样,XCache在共享内存中存储Opcode,并使用缓存的Opcode来响应对PHP脚步的请求. 在Windows系统上安装XCache 1.在http://xcache.lighttpd.net/pub/ReleaseArchive 根据你的PHP版本,下载对应的软件包. 2.解压后把php_xcache.dll复制到ext目录中 在Liunx系统上安装XCache  代码如下 复制代码 wget http://xcache

linux中vpn 链路的安装配置与使用教程

跨机房同步数据的时候,经常会用到vpn链路,因为安全性比较高.网上关于这方面的文章,真没有发现我想要的,是过于简单,大牛们不愿意写呢,还是太难了,做不了呢? 下面,实例说明,vpn链接的建立和使用 一,在远程服务器上安装vpn的服务端 新的centos,源中已经包含了pptpd,所以就不用下了,直接yum install pptpd,就行了. 二,客户端pptp安装配置 1,安装ppp pptp pptp-setup # yum install ppp pptp pptp-setup  2,创建