江湖飘哥 發表於 2023-8-17 00:00:00

在windows系统下如何安装memcached的讲解

<p>
        Memcached 作为一个高性能的分布式内存对象缓存系统,通常被用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于“Key=&gt;Value”方式组织数据,基于网络连接方式完成服务。需要注意的是memcached使用内存管理数据,所以它是易失的,当服务器重启,或者memcached进程中止,数据便会丢失,所以memcached不能用来持久保存数据。</p>
<p>
        <strong>下面我们讲解一下在windows系统下如何安装memcached</strong></p>
<p>
        (1)安装memcache首先你得下载两个文件,memcached 的安装文件和php所需要的 pecl 扩展 php_memcache.dll 文件,因为这里是介绍在 windows 下面安装 memcached ,所以你需要下载的是 memcached.exe 文件。 memcached.exe 具体下载地址为:http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip ,至于 php_memcache.dll,这里就不提供下载地址了,自己去百度搜吧,因为这个一定要和自己的php版本相同。</p>
<p>
        (2)以上所需工具准备完毕,那就可以开始安装并调试了。首先安装 memcache。</p>
<p>
        将下载的 memcache 文件包解压放某个盘下面,比如在c:\memcached</p>
<p>
        在终端(即cmd命令界面)下输入 "<code>c:\memcached\memcached.exe -d install</code>" 安装</p>
<p>
        这个时候你可能不知道你安装的 memcache 使用的是什么端口,下面通过修改注册表将端口修改为我们指定的端口。打开注册表编辑器,找到 <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server </code>下面找到一个 ImagePath 的字符串项,双击该串,在该项目值后面追加写入 -l 127.0.0.1 -m 45 -p 51321 (这里的意思即访问ip为:127.0.0.1 使用45M内存,51321为端口),修改完毕关闭注册表编辑器。</p>
<p>
        接着命令界面里输入:"<code>c:\memcached\memcached.exe -d start</code>" 启动 memcache 服务或者在计算机服务项里面找到memcached服务,重新启动。</p>
<p>
        以上操作完毕,让我们来检测一下缓存服务 memcache 是否成功安装并运行了。继续在终端输入:"<code>telnet 127.0.0.1 51321</code>",输入完毕可能什么反应,接着输入 stats ,如果出现一堆类似下面这样的看懂或看不懂的英文,就说明 memcache 服务已经成功安装并运行了。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_285988">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">STAT pid 5636</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">STAT uptime 936</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">STAT </code><code class="bash functions">time</code> <code class="bash plain">1344915126</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">STAT version 1.2.6</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">STAT pointer_size 32</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">STAT curr_items 0</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">STAT total_items 0</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">STAT bytes 0</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">STAT curr_connections 2</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">STAT total_connections 3</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">STAT connection_structures 3</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">STAT cmd_get 0</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain">STAT cmd_set 0</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">STAT get_hits 0</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash plain">STAT get_misses 0</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">STAT evictions 0</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">STAT bytes_read 19</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash plain">STAT bytes_written 7</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="bash plain">STAT limit_maxbytes 67108864</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash plain">STAT threads 1</code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="bash plain">END</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        注意:如果你的是win 7系统,有可能会提示“'telnet' 不是内部或外部命令,也不是可运行的程序”类似的信息,经排查这是因为 Win7 默认没有安装telnet功能,所以你直接用telnet命令是用不了的,你可以去“控制面板”--》“程序”---》“打开或关闭Windows功能”,勾上“telnet客户端”即可。</p>
<p>
        (3)配置PHP。将下载的 pecl 模块包,解压后将 php_memache.dll 放到 php 目录的 ext 目录下(提示:为了防止出现一些意外错误,最好下载和 php 版本一致的模块包)。然后找到 php.ini 文件,在里面添加一行:<code>extension=php_memcache.dll</code>,然后重启 apache 服务器,至此 php 的 memcache 扩展包就已经安装完了。</p>
<p>
        (4)测试 memcache 是否能在php环境下工作了。我们可以用如下一段代码做测试:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterphp" id="highlighter_803787">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="php variable">$memcache_obj</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">Memcache;</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="php variable">$memcache_obj</code><code class="php plain">-&gt;connect(</code><code class="php string">'127.0.0.1'</code><code class="php plain">, 51321); </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="php variable">$memcache_obj</code><code class="php plain">-&gt;set(</code><code class="php string">'var_key'</code><code class="php plain">, </code><code class="php string">'memcache 测试!'</code><code class="php plain">,MEMCACHE_COMPRESSED, 50);</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="php functions">echo</code> <code class="php variable">$memcache_obj</code><code class="php plain">-&gt;get(</code><code class="php string">'var_key'</code><code class="php plain">);</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        如果正常输出 “memcache 测试!” 说明你已经顺利的为你的php环境搭建好了memcache服务了。注意这里可能会报“<code>Class 'Memcache' not found in...</code>”类的错误,这个经测试是因为扩展包和你的php环境不一致造成的,请重新下载一个和你的php环境一直的扩展包就行了。</p>
<p>
        <strong>总结</strong></p>
<p>
        以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接</p>
<p>
        原文链接:http://www.codetc.com/article-167-1.html</p>
頁: [1]
查看完整版本: 在windows系统下如何安装memcached的讲解