搜索
首页数据库mysql教程Memcached服务端安装

libevent安装 cd /tmpwget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gztar -zxf libevent-1.4.14b-stable.tar.gzcd libevent-1.4.14b-stable./configure --prefix=/opt/libevent/makemake install Memcached安装 cd /tmpwget -N http://www.m

libevent安装

cd /tmp
wget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
tar -zxf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/opt/libevent/
make
make install

Memcached安装

cd /tmp
wget -N http://www.memcached.org/files/memcached-1.4.17.tar.gz
tar -zxf memcached-1.4.17.tar.gz
cd memcached-1.4.17
./configure --prefix=/opt/memcached --enable-64bit --with-libevent=/opt/libevent
make
make install

编写Memcached启动脚本

vi /etc/init.d/memcached
#!/bin/sh
# chkconfig: - 50 50
# description: memcached
# 以下要自己配置
CMD=/opt/memcached/bin/memcached
MEMORY=128
USER=root
HOST=master
PORT=11211
CONNECTION=32
PID=/tmp/memcached.pid
start() {
    echo -n $"memcached starting... "  
    $CMD -d -m $MEMORY -u $USER -l $HOST -p $PORT -c $CONNECTION -P $PID
    echo
}
stop() {
    echo -n $"memcached shutting down... "  
    kill `cat $PID`
    echo
}
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
    echo $"Usage: $0 {start|stop|restart}"  
    exit 1
esac
exit 0

将memcached加入系统启项

chmod +x /etc/init.d/memcached
chkconfig --add /etc/init.d/memcached
chkconfig --level 35 memcached on
chkconfig --level 35 iptables off

启动Memcached

/opt/memcached/bin/memcached -d -m 128 -u root -l master -p 11211 -c 32 -P /tmp/memcached.pid
service memcached restart

基于上面,其他一些选项的含义

-d  指定memcached进程作为一个守护进程启动
-m <num>    指定分配给memcached使用的内存,单位是MB
-u <username>   运行memcached的用户
-l <ip_addr>    监听的服务器IP地址,如果有多个地址的话,使用逗号分隔,格式可以为“IP地址:端口号”,例如:-l 指定192.168.0.184:19830,192.168.0.195:13542;端口号也可以通过-p选项指定
-p <num>    Memcached监听的端口,要保证该端口号未被占用
-c <num>    设置最大运行的并发连接数,默认是1024
-R <num>    为避免客户端饿死(starvation),对连续达到的客户端请求数设置一个限额,如果超过该设置,会选择另一个连接来处理请求,默认为20
-k  设置锁定所有分页的内存,对于大缓存应用场景,谨慎使用该选项
-P  保存memcached进程的pid文件
-s <file>   指定Memcached用于监听的UNIX socket文件
-a <perms>  设置-s选项指定的UNIX socket文件的权限
-U <num>    指定监听UDP的端口,默认11211,0表示关闭
-M  当内存使用超出配置值时,禁止自动清除缓存中的数据项,此时Memcached不可以,直到内存被释放
-r  设置产生core文件大小
-f <factor> 用于计算缓存数据项的内存块大小的乘数因子,默认是1.25
-n  为缓存数据项的key、value、flag设置最小分配字节数,默认是48
-C  禁用CAS
-h  显示Memcached版本和摘要信息
-v  输出警告和错误信息
-vv 打印信息比-v更详细:不仅输出警告和错误信息,也输出客户端请求和响应信息
-i  打印libevent和Memcached的licenses信息
-t <threads>    指定用来处理请求的线程数,默认为4
-D <char>   用于统计报告中Key前缀和ID之间的分隔符,默认是冒号“:”
-L  尝试使用大内存分页(pages)
-B <proto>  指定使用的协议,默认行为是自动协商(autonegotiate),可能使用的选项有auto、ascii、binary。
-I <size>   覆盖默认的STAB页大小,默认是1M
-F  禁用flush_all命令
-o <options>    指定逗号分隔的选项,一般用于用于扩展或实验性质的选项

停止Memcached

ps -ef | grep memcached
kill -9 <PID>

Java客户端 - XMemcached客户端

spring.xml

<!-- 启动参数加入 -Dxmemcached.jmx.enable=true 可启动jmx支持 -->
<!-- 监控端可通过service:jmx:rmi:///jndi/rmi://host:7077/xmemcachedServer连接监控 -->
<bean name="memcachedClient"
    class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean"
    destroy-method="shutdown">
    <!-- servers节点列表格式 主节点1:port,主节点1备份:port 主节点2:port,主节点2备份:port -->
    <!--可以不设置备份节点,主备节点都好分割,不同的主备分组用空格分隔 -->
    <property name="servers">
        <value>${cache.memcacheHost}</value>
    </property>
    <!-- 权重 -->
    <property name="weights">
        <list>
            <value>${cache.memcacheHostWeights1}</value>
        </list>
    </property>
    <!-- 开启sasl验证需要配置此部分 -->
    <!-- <bean name="server1" class="java.net.InetSocketAddress"> <constructor-arg> 
        <value>host1</value> </constructor-arg> <constructor-arg> <value>port1</value> 
        </constructor-arg> </bean> <property name="authInfoMap"> <map> <entry key-ref="server1"> 
        <bean class="net.rubyeye.xmemcached.auth.AuthInfo" factory-method="typical"> 
        <constructor-arg index="0"> <value>cacheuser</value> </constructor-arg> <constructor-arg 
        index="1"> <value>123456</value> </constructor-arg> </bean> </entry> </map> 
        </property> -->
    <!-- nio线程数最好是cpu核数-1 -->
    <property name="connectionPoolSize">
        <value>${cache.memcacheConnectionPoolSize}</value>
    </property>
    <!--默认超时时间 -->
    <property name="opTimeout">
        <value>${cache.opTimeout}</value>
    </property>
    <!-- 使用二进制保存 -->
    <property name="commandFactory">
        <!-- <bean class="net.rubyeye.xmemcached.command.BinaryCommandFactory"></bean> -->
        <bean class="net.rubyeye.xmemcached.command.TextCommandFactory"></bean>
    </property>
    <!-- 分布式hash一致策略 -->
    <property name="sessionLocator">
        <bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator"></bean>
    </property>
    <!-- 序列化转换 -->
    <property name="transcoder">
        <bean class="net.rubyeye.xmemcached.transcoders.SerializingTranscoder" />
    </property>
    <!-- buffer分配策略 -->
    <property name="bufferAllocator">
        <bean class="net.rubyeye.xmemcached.buffer.SimpleBufferAllocator"></bean>
    </property>
    <!-- 在hash一致模式下节点失败路由到下一节点,关闭快速失败模式 -->
    <property name="failureMode" value="false" />
</bean>

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Memcached缓存技术对于PHP中的Session处理的优化Memcached缓存技术对于PHP中的Session处理的优化May 16, 2023 am 08:41 AM

Memcached是一种常用的缓存技术,它可以使Web应用程序的性能得到很大的提升。在PHP中,常用的Session处理方式是将Session文件存放在服务器的硬盘上。但是,这种方式并不是最优的,因为服务器的硬盘会成为性能瓶颈之一。而使用Memcached缓存技术可以对PHP中的Session处理进行优化,提高Web应用程序的性能。PHP中的Session处

PHP8.0中的缓存库:MemcachedPHP8.0中的缓存库:MemcachedMay 14, 2023 am 08:16 AM

PHP8.0中的缓存库:Memcached随着互联网的快速发展,现代应用程序需要高效可靠的缓存技术来提高性能和处理大量数据。由于PHP的流行和开源特性,PHP缓存库已经成为了Web开发社区的一个必备工具。Memcached是一种广泛使用的开源高速内存缓存系统,它能处理数百万个同时连接的缓存请求,可以用于许多不同类型的应用程序,例如社交网络、在线

PHP与Memcached数据库备份与恢复PHP与Memcached数据库备份与恢复May 15, 2023 pm 09:12 PM

随着互联网的快速发展,大规模MySQL数据库备份和恢复成为各大企业和网站必备的技能之一。而随着Memcached的广泛应用,如何备份和恢复Memcached也成为了一个重要的问题。PHP作为Web开发的主力语言之一,在处理备份和恢复MySQL和Memcached上拥有独特的优势和技巧。本文将详细介绍PHP处理MySQL和Memcached备份与恢复的实现方法

使用PHP和Memcached进行缓存管理使用PHP和Memcached进行缓存管理May 23, 2023 pm 02:21 PM

随着网络应用的不断增加和数据量的不断膨胀,数据的读写效率成为影响应用性能的重要因素之一。而缓存技术的应用则可以很好地解决这个问题。在PHP应用中,Memcached是最常用的缓存服务器。Memcached是一个高性能的分布式内存对象缓存系统,可以将常用的数据存储在内存中,提高数据检索的效率。本文将介绍如何使用PHP和Memcached进行缓存管理,以及如何优

利用Memcached缓存技术对于PHP中的音视频播放进行优化利用Memcached缓存技术对于PHP中的音视频播放进行优化May 17, 2023 pm 04:01 PM

随着互联网技术的不断发展,音视频资源已经成为了互联网上非常重要的一种内容形式,而PHP作为网络开发中使用最广泛的语言之一,也在不断地应用于视频和音频播放领域。然而,随着音视频网站的用户日益增加,许多网站已经发现了一个问题:在高并发的情况下,PHP对于音视频的处理速度明显变缓,会导致无法及时播放或者播放卡顿等问题。为了解决这个问题,Memcached缓存技术应

PHP与Memcached性能监控PHP与Memcached性能监控May 15, 2023 pm 09:51 PM

随着现代互联网应用的快速发展,用户体验对于一个应用的成功至关重要。如何保证应用的高性能和高可用性,成为了开发人员需要解决的重要问题之一。PHP作为一种广泛应用的编程语言之一,它的性能监控和优化也是非常重要的。Memcached是一个高性能、分布式的内存对象缓存系统,可以帮助应用提高性能和扩展性。本文将介绍如何使用PHP和Memcached实现性能监控的方法。

PHP实现Memcached数据库集群的方法PHP实现Memcached数据库集群的方法May 15, 2023 pm 03:31 PM

随着互联网应用的快速发展,数据存储和处理变得越来越庞大和复杂。在这样的背景下,Memcached作为一款高性能、轻量级的分布式内存缓存系统,逐渐成为互联网应用领域中不可或缺的一部分。在PHP语言中,Memcached可以通过扩展内置的Memcached类实现与Memcached服务器的交互,而在实际生产环境中,我们需要通过搭建Memcached数据库集群来保

如何在CakePHP中使用Memcached?如何在CakePHP中使用Memcached?Jun 04, 2023 am 08:14 AM

随着现代应用程序的快速增长,缓存已成为许多开发人员的至关重要的部分。缓存可以大大提高应用程序的性能并减少服务器负载。在CakePHP中,实现缓存的一种方法是使用Memcached。Memcached是一个基于内存的分布式缓存系统。它将数据存储在内存中,可以快速地读取和写入数据。在多服务器环境中,Memcached可以分布式存储数据并通过网络进行共享。不仅可以

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能