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>
原文地址:Memcached服务端安装, 感谢原作者分享。

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

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

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

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

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

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

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

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


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

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

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

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

SublimeText3汉化版
中文版,非常好用

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能