`

Memcache初学之一 memcache安装

阅读更多

Windows版本安装

windows 上安装 memcached ,我的理解是一般用于应用程序测试和开发阶段。一般在 windows 上直接应用memcached 的比较少。本次功能介绍和学习先用 windows 吧,毕竟环境容易找到些。

 

下载二进制版本

 

windows 版本的服务端程序在官方网站上没有找到,官网只有源代码版本。为了方便,直接在网上 google 到对应的二进制版本下载 .

这里使用 1.4.4wind32 版本

下载地址: http://downloads.northscale.com/memcached-win32-1.4.4-14.zip

 

安装单个服务

 

window 版本的安装灰常简单。

本案例使用环境: WINDOWS7 的盗版 64 位 +i5CPU+4G 内存

直接解压到你喜欢的目录,这里我使用 D:\tools\memcached\memcached-win32-1.4.4-14

安装 memcached 为系统服务,并启动服务

D:\>cd D:\tools\memcached\memcached-win32-1.4.4-14

D:\tools\memcached\memcached-win32-1.4.4-14>memcached.exe -d install

D:\tools\memcached\memcached-win32-1.4.4-14>memcached.exe -d start

服务启动后, memcached 默认使用 64M 内存和 11211 端口作为服务器参数。如果你希望调整参数,请参考: memcached.exe -h

\验证安装结果

 

Java代码   收藏代码
  1. d:\>telnet localhost 11211  
  2. add firstKey 0 0 15  
  3. Hello Memcached  
  4. STORED  
  5. get firstKey  
  6. VALUE firstKey 0 15  
  7. Hello Memcached  
  8. END  
  9. quit  

    OK, 使用存取命令执行成功。表示安装成功。

 

安装多个服务

 

下面的代码是安装三个 memcached 服务在同一 Windows 操作系统。

使用的命令是 sc 命令,详情参考: SC –H. 。分别使用端口号 11211,11212,11213 ,每个服务使用内存 128M( -m 128 )

 

sc create memcached-1 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11211"

sc create memcached-2 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11212"

sc create memcached-3 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11213"

 

安装多个 memcached 服务,便于在同一个机器上测试客户端的分布式逻辑。

 

linux

linux 版本的安装在各个发布版本中,大致相同,本案例采用 Red Hat AS5 环境(暂时只有这个虚拟机)。

 

安装方式

Linux 下有 package 方式和 source 方式, package 方式安装是真对具体发行版本和内核的默认安装,如果想自定义或配置一般采用 source 安装方式。本例采用 source 方式安装。

 

下载 source 安装包 

本案例使用最新版 memcached-1.4.5.tar.gz 和 libevent-2.0.10-stable.tar.gz 。本案例使用 libevent 作为memcached 的底层通讯插件,提供非阻塞式的 SOCKET 通讯。

下载地址:

http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz

 

 

 

Java代码   收藏代码
  1. [root@hadoop00 /]# cd /opt/  
  2.   
  3. [root@hadoop00 opt]# wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz  
  4.   
  5. [root@hadoop00 opt]# http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz  

 

环境需求

Source 方式安装需要 GCC ,请检查是否安装,如果没有请先安装。

 

 

Java代码   收藏代码
  1. [root@hadoop00 opt]# gcc –v  

 

安装 libevent

 

Java代码   收藏代码
  1. [root@hadoop00 opt]# tar -zxvf libevent-2.0.10-stable .tar.gz   
  2. [root@hadoop00 opt]# cd libevent-2.0.10-stable   
  3. [root@hadoop00 opt]# ./configure --prefix=/usr/   
  4. [root@hadoop00 opt]# make  
  5. [root@hadoop00 opt]# make install  
  6. [root@hadoop00 opt]# ls /usr/lib |grep libevent    // 验证安装  
 

安装 memecached 

 

Java代码   收藏代码
  1. [root@hadoop00 opt]# tar -zxvf memcached-1.4.5.tar.gz  
  2.   
  3. [root@hadoop00 opt]# cd memcached-1.4.5  
  4.   
  5. [root@hadoop00 memcached-1.4.5]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/  
  6.   
  7. [root@hadoop00 memcached-1.4.5]# make   
  8.   
  9. [root@hadoop00 memcached-1.4.5]# make install  
  10.   
  11. [root@hadoop00 memcached-1.4.5]# ls -al /usr/local/memcached/bin  
 

设置防火墙

如果你在内网的网络平面使用,可以关闭防火墙。如果你在公网环境,请配置防火墙忽略 memcached 。

Java代码   收藏代码
  1. 永久性生效,重启后不会复原  
  2.   
  3. 开启:  
  4.   
  5. [root@hadoop00]# chkconfig iptables on   
  6.   
  7. 关闭:  
  8.   
  9. [root@hadoop00]# chkconfig iptables off  
  10.   
  11. 即时生效,重启后复原    
  12.   
  13. 开启:  
  14.   
  15. [root@hadoop00]# service iptables start   
  16.   
  17. 关闭:  
  18.   
  19. [root@hadoop00]# service iptables stop   
  20.   
  21. 设置防火墙:  
  22.   
  23. 修改 /etc/sysconfig/iptables 文件,  
  24.   
  25. 添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT  
 

启动 memcached 服务 

 

[root@hadoop00]# /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.160.129 -p 11211 -c 256 -P /tmp/memcached.pid

启动参数介绍,其它参数请参见: Memcached 启动参数 小节

-d 选项是启动一个守护进程, 

-m 是分配给Memcache 使用的内存数量,单位是MB ,我这里是100MB , 

-u 是运行Memcache 的用户,我这里是root , 

-l 是监听的服务器IP 地址,如果有多个地址的话,我这里指定了服务器的IP 地址192.168.36.200 , 

-p 是设置Memcache 监听的端口,我这里设置了11211 ,最好是1024 以上的端口,我们这里统一使用11211-c选项是最大运行的并发连接数,默认是1024 ,我这里设置了256 ,按照你服务器的负载量来设定。

-P 是设置保存Memcache 的pid 文件,我这里是保存在/tmp/memcached.pid

 

结束 Memcache 服务 

直接采用 kill 方式

Java代码   收藏代码
  1. [root@hadoop00 bin]# kill cat /tmp/memcached.pid  
  2. 或  
  3. [root@hadoop00 bin]# ps -ax|grep memcached  
  4.   
  5. 18007 ?  Ssl    0:00 ./memcached -d -m 100 -u root -l 192.168.221.10 -p 11211 -c 256 -P /tmp/memcached.pid  
  6.   
  7.   [root@hadoop00 bin]# kill -9 18007  

 

测试安装

 

使用 telnet 方式直接连接到 memcached 进行简单测试,注意,这里只能使用你启动时候使用的 IP 进行连接。本例是 192.168.221.10

 
Java代码   收藏代码
  1. [root@hadoop00 bin]# telnet 192.168.221.10 11211  
  2.   
  3. Trying 192.168.221.10...  
  4.   
  5. Connected to hadoop00 (192.168.221.10).  
  6.   
  7. Escape character is '^]'.  
  8.   
  9. add key1 0 0 12  
  10.   
  11. hello first!  
  12.   
  13. STORED  
  14.   
  15. get key1  
  16.   
  17. VALUE key1 0 12  
  18.   
  19. hello first!  
  20.   
  21. END  
  22.   
  23. ^]  
  24.   
  25. telnet> q  
  26.   
  27. Connection closed.  

Memcached 启动参数

 

-p <num>      TCP 监听端口,默认 11211

-U <num>      UDP 监听端口,默认 11211 ,如果配置 0 表示关闭。

-s <file>     UNIX socket path to listen on (disables network support)

-a <mask>     access mask for UNIX socket, in octal (default: 0700)

-l <ip_addr>    监听 IP 。默认是本地所有 IP 地址

-d            启动一个守护进程

-r            maximize core file limit

-u <username>   assume identity of <username> (only when run as root)

-m <num>      max memory to use for items in megabytes (default: 64 MB)

-M            return error on memory exhausted (rather than removing items)

-c <num>      max simultaneous connections (default: 1024)

-k            lock down all paged memory.  Note that there is a

               limit on how much memory you may lock.  Trying to

              allocate more than that would fail, so be sure you

              set the limit correctly for the user you started

              the daemon with (not for -u <username> user;

               under sh this is done with 'ulimit -S -l NUM_KB').

-v            verbose (print errors/warnings while in event loop)

-vv           very verbose (also print client commands/reponses)

-vvv          extremely verbose (also print internal state transitions)

-h            print this help and exit

-i            print memcached and libevent license

-P <file>     save PID in <file>, only used with -d option

-f <factor>   chunk size growth factor (default: 1.25)

-n <bytes>    minimum space allocated for key+value+flags (default: 48)

-L            Try to use large memory pages (if available). Increasing

              the memory page size could reduce the number of TLB misses

              and improve the performance. In order to get large pages

              from the OS, memcached will allocate the total item-cache

              in one large chunk.

-D <char>     Use <char> as the delimiter between key prefixes and IDs.

              This is used for per-prefix stats reporting. The default is

              ":" (colon). If this option is specified, stats collection

              is turned on automatically; if not, then it may be turned on

              by sending the "stats detail on" command to the server.

-t <num>      number of threads to use (default: 4)

-R             Maximum number of requests per event, limits the number of

              requests process for a given connection to prevent

              starvation (default: 20)

-C            Disable use of CAS

-b            Set the backlog queue limit (default: 1024)

-B            Binding protocol - one of ascii, binary, or auto (default)

-I            Override the size of each slab page. Adjusts max item size

              (default: 1mb, min: 1k, max: 128m)

    -p 监听的端口

    -l 连接的 IP 地址 , 默认是本机

    -d start 启动 memcached 服务

    -d restart 重起 memcached 服务

    -d stop|shutdown 关闭正在运行的 memcached 服务

    -d install 安装 memcached 服务

    -d uninstall 卸载 memcached 服务

    -u 以的身份运行 ( 仅在以 root 运行的时候有效 )

    -m 最大内存使用,单位 MB 。默认 64MB

    -M 内存耗尽时返回错误,而不是删除项

    -c 最大同时连接数,默认是 1024

    -f 块大小增长因子,默认是 1.25

    -n 最小分配空间, key+value+flags 默认是 48

-h 显示帮助

 

分享到:
评论

相关推荐

    php_memcache-3.0.8-5.3-ts-vc9-x86

    标签“memcache”进一步确认了这个压缩包与Memcache技术有关,意味着下载并安装这个扩展后,用户将能够利用Memcache服务来缓存和检索数据。 压缩包内的文件“php_memcache.dll”是实际的PHP扩展动态链接库文件,它...

    这个是php_memcache-5.2版本的,找了好久才找到,希望对大家有帮助,下载请查看附件。

    虽然具体内容无法在这里复述,但通常这类博客文章会包含关于如何安装、配置以及使用PHP Memcache扩展的教程,或者是解决常见问题的技巧,对于初学者和开发者来说,都是宝贵的参考资料。 在压缩包中,我们看到一个名...

    Memcached.exe php_memcache.dll 5.3 5.4 5.5

    `安装详解.txt`可能包含了详细的安装步骤和注意事项,对于初学者来说是非常宝贵的资源。`memcache_dll.rar`则可能是包含不同PHP版本(5.3、5.4、5.5)对应的`php_memcache.dll`文件的压缩包,用户需要根据自己的PHP...

    php memcache redis.dll

    在Windows环境中,安装Memcached(Memcache的服务端)通常涉及下载`memcached.exe`可执行文件,将其解压到一个路径,然后通过命令行启动服务。例如,你可以使用`memcached.exe -d install`来安装服务,`memcached....

    memcache学习资料(包含memcache和java_memcache相应的jar)

    `java_memcache`相关的JAR文件通常包含了Java Memcached客户端库,如Xmemcached或spymemcached,这些库提供了API,让Java开发者能够方便地在Java应用中集成和使用Memcached服务。 在Windows环境下部署和使用...

    windows环境下php配置memcache的具体操作步骤

    WAMP整合套件是Windows环境下流行的服务器环境之一,它集成了Apache、MySQL以及PHP环境,对于初学者或快速搭建测试环境非常有帮助。 2. 下载Memcache:接着需要访问Memcache的官方网站下载适用于Windows操作系统的...

    Memcache资料合集

    **Memcache** 是一款高效、轻量级的分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高应用程序性能。它通过将数据存储在内存中,以快速响应来自客户端的请求,从而避免了每次访问数据库的开销...

    Windows 2008R2+IIS7.5+PHP+Mysql+Wincache+Memcache+URL伪静态环境搭建教程

    本教程旨在帮助初学者或未成功搭建该环境的学习者完成一套完整的Windows 2008R2 + IIS7.5 + PHP + MySQL + Wincache + Memcache + URL伪静态环境的搭建,并对Discuz进行一定的优化。对于已经熟悉这套环境搭建流程的...

    PHP+memcache实现消息队列案例分享

    不过,共享内存使用不当会带来资源竞争和数据不一致的风险,因此,对于初学者而言,建议先从较为简单和安全的memcache实现开始。 总结来说,本文详细阐述了如何利用PHP和memcache建立一个基本的消息队列系统,从...

    memcache详解

    **Memcached详解** Memcached是一种高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库负载,提高...无论你是初学者还是经验丰富的开发者,这个“memcache详解”都能为你提供有价值的信息。

    memcached_termkqh_memcache_

    描述提到这是一个设计开发文档,内容简短易懂,适合初学者快速入门。 **核心知识点:** 1. **分布式缓存**:memcached作为分布式缓存系统,可以在多台服务器之间共享数据,通过一致性哈希算法来分配键值对,从而...

    centos linux+apache+mysql+php+memcache+zend

    本文将详细介绍如何在CentOS 5.5(RedHat 5)上安装配置LAMP环境,并集成Memcache和Zend Optimizer,旨在为初学者提供一个完整的指南。 #### 二、Apache Web服务器安装与配置 **1. 下载与解压Apache** ``` # tar ...

    全面解析PHP操作Memcache基本函数

    Memcache是一个高性能的分布式内存缓存系统,最初由danga.com开发,用于减轻数据库的负担,特别是对于高流量的Web应用。它通过在内存中存储数据,利用非阻塞的网络IO处理大量并发连接,从而提升了数据访问速度。项目...

    Windows下编译PHP和memcache扩展教程

    在Windows系统下手动编译PHP及其扩展memcache是一个对PHP开发者来说非常有价值的过程,尤其是当你需要对环境进行定制,或者需要调试扩展时。以下知识点详细介绍了如何在Windows环境下编译PHP和memcache扩展。 首先...

    ehcache-memcache-redis三大缓存男高音.docx

    标题中的“ehcache-memcache-redis 三大缓存男高音”指的是三种常见的高性能缓存系统:Ehcache、Memcached和Redis。这三种缓存技术在IT领域广泛应用于提高应用程序的性能,通过存储经常访问的数据来减少数据库查询,...

    php上的memcache和memcached两个pecl库

    另一个关键区别在于,memcached的`setOption`方法允许统一设置标志(flag),这是一个非常实用的设计,使得从pecl::memcache转换到pecl::memcached变得更加容易。开发者可以通过查看官方API文档(链接已提供)来了解...

    nextcloud 安装教程 windows 服务器中nextcloud 安装图解

    通过这个教程,即使是初学者也能成功在 Windows 服务器上安装 Nextcloud。在整个过程中,利用 Docker 部署 Nextcloud 提供了方便和灵活性,而将 MySQL 和 Redis 容器化增加了系统的安全性和性能。如果你在安装过程中...

    32位 PHP5.6 已经配置好mencache和sql server拿去直接用

    【Memcache】是一个高性能的分布式内存对象缓存系统,用于加速动态Web应用。它通过将数据存储在内存中来减少数据库负载,从而提高网站的响应速度。在PHP中,可以使用`memcached`或`memcache`扩展来与Memcache服务器...

    1分钟完美安装最新_CentOS_ _Nginx_ _PHP-FPM_ _MySQL

    相比之下,本方案采用了一键安装的方法,大大简化了安装流程,同时也预装了一系列常用的 PHP 扩展,如 PDO、eAccelerator、Memcache 和 Tidy,满足了大多数 Web 开发的需求。这不仅节省了时间,也减少了出错的可能性...

Global site tag (gtag.js) - Google Analytics