搜索
首页数据库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
如何在MySQL中删除或修改现有视图?如何在MySQL中删除或修改现有视图?May 16, 2025 am 12:11 AM

todropaviewInmySQL,使用“ dropviewifexistsview_name;” andTomodifyAview,使用“ createOrreplaceViewViewViewview_nameAsSelect ...”。whendroppingaview,asew dectivectenciesanduse和showcreateateviewViewview_name;“ tounderStanditSsstructure.whenModifying

MySQL视图:我可以使用哪些设计模式?MySQL视图:我可以使用哪些设计模式?May 16, 2025 am 12:10 AM

mySqlViewScaneFectectialized unizedesignpatternslikeadapter,Decorator,Factory,andObserver.1)adapterPatternadaptSdataForomDifferentTablesIntoAunifiendView.2)decoratorPatternenhancateDataWithCalcalcualdCalcalculenfields.3)fieldfields.3)

在MySQL中使用视图的优点是什么?在MySQL中使用视图的优点是什么?May 16, 2025 am 12:09 AM

查看InMysqlareBeneForsImplifyingComplexqueries,增强安全性,确保dataConsistency,andOptimizingPerformance.1)他们simimplifycomplexqueriesbleiesbyEncapsbyEnculatingThemintoreusableviews.2)viewsEnenenhancesecuritybyControllityByControllingDataAcces.3)

如何在MySQL中创建一个简单的视图?如何在MySQL中创建一个简单的视图?May 16, 2025 am 12:08 AM

toCreateAsimpleViewInmySQL,USEthecReateaTeviewStatement.1)defitEtheetEtheTeViewWithCreatEaTeviewView_nameas.2)指定usethectstatementTorivedesireddata.3)usethectStatementTorivedesireddata.3)usetheviewlikeatlikeatlikeatlikeatlikeatlikeatable.views.viewssimplplifefifydataaccessandenenanceberity but consisterfort,butconserfort,consoncontorfinft

MySQL创建用户语句:示例和常见错误MySQL创建用户语句:示例和常见错误May 16, 2025 am 12:04 AM

1)foralocaluser:createUser'localuser'@'@'localhost'Indidendify'securepassword'; 2)foraremoteuser:creationuser's creationuser'Remoteer'Remoteer'Remoteer'Remoteer'Remoteer'Remoteer'Remoteer'Remoteer'Rocaluser'@'localhost'Indidendify'seceledify'Securepassword'; 2)

在MySQL中使用视图的局限性是什么?在MySQL中使用视图的局限性是什么?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)他们不使用Supportallsqloperations,限制DatamanipulationThroughViewSwithJoinSorsubqueries.2)他们canimpactperformance,尤其是withcomplexcomplexclexeriesorlargedatasets.3)

确保您的MySQL数据库:添加用户并授予特权确保您的MySQL数据库:添加用户并授予特权May 14, 2025 am 12:09 AM

porthusermanagementInmysqliscialforenhancingsEcurityAndsingsmenting效率databaseoperation.1)usecReateusertoAddusers,指定connectionsourcewith@'localhost'or@'%'。

哪些因素会影响我可以在MySQL中使用的触发器数量?哪些因素会影响我可以在MySQL中使用的触发器数量?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers,butacticalfactorsdeterminetheireffactective:1)serverConfiguration impactactStriggerGermanagement; 2)复杂的TriggerSincreaseSySystemsystem load; 3)largertablesslowtriggerperfermance; 4)highConconcConcrencerCancancancancanceTigrignecentign; 5); 5)

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脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

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

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)