① 如何在linux下安装Memcached
1、到官网下载安装文件。
2、把下载的文件上传到linux服务器的/opt/soft下面。
② linux 怎么下memcached
linux查看memcached状态[[email protected] xinetd.d]# telnet 127.0.0.1 11211Trying 127.0.0.1…Connected to 127.0.0.1.Escape character is '^]'.statsSTAT pid 22362 //memcache服务器的进程ID STAT uptime 1469315 //服务器已经运行的秒数STAT time 1339671194 //服务器当前的unix时间戳STAT version 1.4.9 //memcache版本STAT libevent 1.4.9-stable //libevent版本STAT pointer_size 64 //当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统)STAT rusage_user 3695.485200 //进程的累计用户时间STAT rusage_system 14751.273465 //进程的累计系统时间STAT curr_connections 69 //服务器当前存储的items数量STAT total_connections 855430 //从服务器启动以后存储的items总数量STAT connection_structures 74 //服务器分配的连接构造数STAT reserved_fds 20 //STAT cmd_get 328806688 //get命令(获取)总请求次数STAT cmd_set 75441133 //set命令(保存)总请求次数 STAT cmd_flush 34 //flush命令请求次数STAT cmd_touch 0 //touch命令请求次数STAT get_hits 253547177 //总命中次数STAT get_misses 75259511 //总未命中次数STAT delete_misses 4 //delete命令未命中次数STAT delete_hits 565730 //delete命令命中次数STAT incr_misses 0 //incr命令未命中次数STAT incr_hits 0 //incr命令命中次数STAT decr_misses 0 //decr命令未命中次数STAT decr_hits 0 //decr命令命中次数STAT cas_misses 0 //cas命令未命中次数STAT cas_hits 0 //cas命令命中次数STAT cas_badval 0 //使用擦拭次数STAT touch_hits 0 //touch命令未命中次数STAT touch_misses 0 //touch命令命中次数STAT auth_cmds 0 //认证命令处理的次数STAT auth_errors 0 //认证失败数目STAT bytes_read 545701515844 //总读取字节数(请求字节数)STAT bytes_written 1649639749866 //总发送字节数(结果字节数)STAT limit_maxbytes 2147483648 //分配给memcache的内存大小(字节)STAT accepting_conns 1 //服务器是否达到过最大连接(0/1)STAT listen_disabled_num 0 //失效的监听数STAT threads 4 //当前线程数STAT conn_yields 14 //连接操作主动放弃数目STAT hash_power_level 16 //STAT hash_bytes 524288STAT hash_is_expanding 0STAT expired_unfetched 30705763STAT evicted_unfetched 0STAT bytes 61380700 //当前存储占用的字节数STAT curr_items 28786 //当前存储的数据总数STAT total_items 75441133 //启动以来存储的数据总数STAT evictions 0 //为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)STAT reclaimed 39957976 //已过期的数据条目来存储新数据的数目END退出:quit或者ctrl + ] 然后在按q就行了。安装telenet方法1、yum install telnet-server 服务端2、yum install telnet 客户端3、vi /etc/xinetd.d/telnetservice telnet{ flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = yes}将disable项由yes改成no。4、/etc/init.d/xinetd restart其他方式:前项目中,linux下memcached的启动/结束的方式默认情况下memcached安装到/usr/local/bin下。进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root获取运行状态:echo stats nc localhost 11211(可以查看出pid) 或使用ps -efgrep memcached停止memcached:kill -9 pid (-9表示强制杀死,pid 为进程的进程标识符)-d 选项是启动一个守护进程,-m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB-u 是运行Memcache的用户,这里是root-l 是监听的服务器IP地址,默认应该是本机-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口-c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定-P 是设置保存Memcache的pid文件位置-h 打印帮助信息-v 输出警告和错误信息-vv 打印客户端的请求和返回信息ps -efgrep memcached(命令说明)grep:功能说明:查找文件里符合条件的字符串。:管道命令操作符ps(process status):功能说明:报告程序状况。连接到 memcached:telnet ip 端口,如telnet 192.168.100.11 11211stats查看状态,flush_all:清楚缓存查看memcached状态的基本命令,通过这个命令可以看到如下信息:STAT pid 22459 进程IDSTAT uptime 1027046 服务器运行秒数STAT time 1273043062 服务器当前unix时间戳STAT version 1.4.4 服务器版本STAT pointer_size 64 操作系统字大小(这台服务器是64位的)STAT rusage_user 0.040000 进程累计用户时间STAT rusage_system 0.260000 进程累计系统时间STAT curr_connections 10 当前打开连接数STAT total_connections 82 曾打开的连接总数STAT connection_structures 13 服务器分配的连接结构数STAT cmd_get 54 执行get命令总数STAT cmd_set 34 执行set命令总数STAT cmd_flush 3 指向flush_all命令总数STAT get_hits 9 get命中次数STAT get_misses 45 get未命中次数STAT delete_misses 5 delete未命中次数STAT delete_hits 1 delete命中次数STAT incr_misses 0 incr未命中次数STAT incr_hits 0 incr命中次数STAT decr_misses 0 decr未命中次数STAT decr_hits 0 decr命中次数STAT cas_misses 0 cas未命中次数STAT cas_hits 0 cas命中次数STAT cas_badval 0 使用擦拭次数STAT auth_cmds 0STAT auth_errors 0STAT bytes_read 15785 读取字节总数STAT bytes_written 15222 写入字节总数STAT limit_maxbytes 1048576 分配的内存数(字节)STAT accepting_conns 1 目前接受的链接数STAT listen_disabled_num 0 STAT threads 4 线程数STAT conn_yields 0STAT bytes 0 存储item字节数STAT curr_items 0 item个数STAT total_items 34 item总数STAT evictions 0 为获取空间删除item的总数另外一个例子:启动/结束memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid-d 选项是启动一个守护进程,-m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB-u 是运行Memcache的用户,这里是root-l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122-p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口-c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定-P 是设置保存Memcache的pid文件kill `cat /tmp/memcached.pid`获取运行状态echo stats nc 192.168.1.123 11200watch echo stats nc 192.168.1.123 11200 (实时状态)
③ 如何在linux上配置memcache
一、什么是memcachememcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等二、libevent介绍libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名的用于apache的php缓存库memcached据说也是libevent based,而且libevent在使用上可以做到跨平台三、准备工作下载:memcache:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz四、安装过程1、卸载低版本的libevent#ls -al /usr/lib |grep libeventlrwxrwxrwx 1 root root libevent-1.1a.so.1 -> libevent-1.1a.so.1.0.2-rwxr-xr-x 1 root root libevent-1.1a.so.1.0.2 查看当前libevent版本,如果版本低于1.3,建议先卸载#rpm -e libevent –nodeps卸载libevent,#ls -al /usr/lib |grep libevent再次查看,卸载成功2、安装libevent#tar zxvf libevent-1.3.tar.gz解压libevent#cd libevent-1.3#./configure –prefix=/usr#make#make install配置安装libevent到/usr目录下#ls -al /usr/lib |grep libeventlrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.lalrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3再此查看,安装libevent1.3版本成功3、安装memcached,同时需要安装中指定libevent的安装位置#tar zxvf memcached-1.2.6.tar.gz#cd memcached-1.2.6解压进入mamcache目录#./configure –with-libevent=/usr/#make#make install安装完成后会把memcached放到 /usr/local/bin/memcached#ls -al /usr/local/bin/memcached-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached查看memcache安装成功五、memcached的基本设置#/usr/local/bin/memcached -d -m 2000 -u root -p 12000 -c 256 -P ./memcached.pid1.启动Memcache的服务器端:# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,不过端口不能重复。六:客户端测试1、下载java_memcached-release_2.5.1.zip2、创建一个java project,将java_memcached-release_2.5.1.jar包引用。3、在main函数中,创建2个类,如下 package com.danga.MemCached;import java.io.Serializable; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; public class TestObj implements Serializable { private static final long serialVersionUID = 1L; private String name; private Long id; public TestObj() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString() { return "id:"+this.getId()+";name:"+this.getName(); } }package com.danga.MemCached;import java.io.Serializable; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; public class MemcacheTest{ //create a static client as most installs only need // a single instance protected static MemCachedClient mcc = new MemCachedClient(); // set up connection pool once at class load static { // server list and weights String[] servers ={"192.168.0.226:12000"}; Integer[] weights = { 3 }; // grab an instance of our connection pool SockIOPool pool = SockIOPool.getInstance(); // set the servers and the weights pool.setServers( servers ); pool.setWeights( weights ); // set some basic pool settings // 5 initial, 5 min, and 250 max conns // and set the max idle time for a conn // to 6 hours pool.setInitConn( 5 ); pool.setMinConn( 5 ); pool.setMaxConn( 250 ); pool.setMaxIdle( 1000 * 60 * 60 * 6 ); // set the sleep for the maint thread // it will wake up every x seconds and // maintain the pool size pool.setMaintSleep( 30 ); // set some TCP settings // disable nagle // set the read timeout to 3 secs // and don't set a connect timeout pool.setNagle( false ); pool.setSocketTO( 3000 ); pool.setSocketConnectTO( 0 ); // initialize the connection pool pool.initialize(); // lets set some compression on for the client // compress anything larger than 64k mcc.setCompressEnable( true ); mcc.setCompressThreshold( 64 * 1024 ); } public static void bulidCache() { mcc.set( "foo", "This is a test String" ); TestObj obj = new TestObj(); obj.setId(new Long(1)); obj.setName("test"); mcc.set("testObj", obj); } // from here on down, you can call any of the client calls public static void output() { // String bar = (String) mcc.get( "foo" ); System.out.println(bar); TestObj obj = (TestObj)mcc.get("testObj"); System.out.println("ID : "+obj.getId()+"\n"+"Name : "+obj.getName()); } public static void main(String[] args) { bulidCache(); output(); } } 4、运行结果This is a test StringID : 1Name : testmemcache配置成功~~~~~~~~~~~~~~~~~~~~
④ Memcached 如何设置比较好Linux 服务器中宝塔面板
配置修改:如果不懂代码的话,不要伸手,后果自负。负载状态:memcached运行中的相关状态。其中最重要的是hit这个参数,也就是命中率。当然是越高越好了。性能调整:前面IP和端口不要改。缓存大小根据实际情况调整。根据什么来调整呢?回到负载状态栏,有一个“当前已使用内存”,看这个数字来调整。比如默认分配给memcached一共64M内存,但是已使用内存62M就说明memcached可用内存快要满了,这时候就手动改大一点,比如128M。具体数字根据每天流量情况来定。Memcached的目的就是把所有文章内容都扔进内存,这样用户来访时直接读取内存中的内容,跳过了数据库,所以使用memcached后网站打开感觉特别快。比如网站每天发几十篇文章,可能这个数字就调整大一点,防止不够用了
⑤ 如何在linux执行memcached命令
当前项目中,linux下memcached的启动/结束的方式默认情况下memcached安装到/usr/local/bin下。进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root获取运行状态:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached 停止memcached:kill -9 pid (-9表示强制杀死,pid 为进程的进程标识符)-d 选项是启动一个守护进程,-m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB-u 是运行Memcache的用户,这里是root-l 是监听的服务器IP地址,默认应该是本机-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口-c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定-P 是设置保存Memcache的pid文件位置-h 打印帮助信息-v 输出警告和错误信息-vv 打印客户端的请求和返回信息ps -ef|grep memcached(命令说明) grep:功能说明:查找文件里符合条件的字符串。|:管道命令操作符ps(process status):功能说明:报告程序状况。连接到 memcached:telnet ip 端口,如telnet 192.168.100.11 11211stats查看状态,flush_all:清楚缓存
⑥ 有在linux下安装memcached遇到这样错误的吗
下载并安装Memcache服务器端服务器端主要是安装memcache服务器端.下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装)官网:http://www.monkey.org/~provos/libevent/下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz用wget指令直接下载这两个东西.下载回源文件后。1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr;然后make;然后make install;2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr;然后make;然后make install;这样就完成了Linux下Memcache服务器端的安装。详细的方法如下:1.分别把memcached和libevent下载回来,放到 /tmp 目录下:# cd /tmp# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz2.先安装libevent:# tar zxvf libevent-1.2.tar.gz# cd libevent-1.2# ./configure –prefix=/usr# make# make install3.测试libevent是否安装成功:# ls -al /usr/lib | grep libeventlrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.lalrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3还不错,都安装上了。4.安装memcached,同时需要安装中指定libevent的安装位置:# cd /tmp# tar zxvf memcached-1.2.0.tar.gz# cd memcached-1.2.0# ./configure –with-libevent=/usr# make# make install如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。安装完成后会把memcached放到 /usr/local/bin/memcached ,5.测试是否成功安装memcached:# ls -al /usr/local/bin/mem*-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug启动Memcached服务:1.启动Memcache的服务器端:# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,2.如果要结束Memcache进程,执行:# kill `cat /tmp/memcached.pid`也可以启动多个守护进程,不过端口不能重复。测试Memcached:复制代码[[email protected] /]# telnet 192.168.141.64 12000Trying 192.168.141.64…Connected to 192.168.141.64 (192.168.141.64).Escape character is '^]'.set key1 0 60 4zhouSTOREDget key1VALUE key1 0 4zhouEND复制代码至此Memcached安装成功!常见问题:1.如果启动Memcached服务的时候遇到了/usr/local/bin/memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory;解决方案:复制代码[[email protected] bin]# LD_DEBUG=libs memcached -v [[email protected] bin]# ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1[[email protected] bin]# /usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P /tmp/memcached.pid[[email protected] bin]# ps -aux复制代码可以看到启动的Memcached服务了.2.把Memcached服务加载到Linux的启动项中.万一机器断电系统重启.那么Memcached就会自动启动了.假如启动Memcache的服务器端的命令为:# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid容来自17jquery想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,下面命令/usr/local/memcached/bin/memcached -d -m 10 -p 12000 -u apache -c 256 上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户:最好选择是:apache 或 deamon这样,也就是属于哪个用户的服务,由哪个用户启动。
⑦ 如何配置Memcached服务器
Windows下的Memcache安装1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 c:\memcached\memcached.exe -d install --安装memcached成为服务,这样才能正常运行,否则运行失败! 3. 再输入: c:\memcached\memcached.exe -d start --启动memcached的。 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。Linux下的安装:1.下载memcached和libevent,放到 /tmp 目录下# cd /tmp# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz2.先安装libevent:# tar zxvf libevent-1.2.tar.gz# cd libevent-1.2# ./configure –prefix=/usr# make# make install3.测试libevent是否安装成功:# ls -al /usr/lib | grep libeventlrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.lalrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.34.安装memcached,同时需要安装中指定libevent的安装位置:# cd /tmp# tar zxvf memcached-1.2.0.tar.gz# cd memcached-1.2.0# ./configure –with-libevent=/usr# make# make install如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。安装完成后会把memcached放到 /usr/local/bin/memcached ,5.测试是否成功安装memcached:# ls -al /usr/local/bin/mem*-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debugmemcached的基本设置:1.启动Memcache的服务器端:# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,-u是运行Memcache的用户,这里是root,-l是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200,-p是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,这里是保存在 /tmp/memcached.pid,2.如果要结束Memcache进程,执行:# kill `cat /tmp/memcached.pid`也可以启动多个守护进程,不过端口不能重复。3.重启apache,service httpd restart java的客户端连接程序: 将java_memcached-release_1.6.zip解压后的目录中的java_memcached-release_2.0.jar文件复制到java项目的lib目录下。 package utils.cache;import java.util.Date;import com.danga.MemCached.MemCachedClient;import com.danga.MemCached.SockIOPool;/*** 使用memcached的缓存实用类.*/public class MemCached{ // 创建全局的唯一实例 protected static MemCachedClient mcc = new MemCachedClient(); protected static MemCached memCached = new MemCached(); // 设置与缓存服务器的连接池 static { // 服务器列表和其权重 String[] servers = {"127.0.0.1:11211"}; Integer[] weights = {3}; // 获取socke连接池的实例对象 SockIOPool sockIOPool = SockIOPool.getInstance(); // 设置服务器信息 sockIOPool.setServers( servers ); sockIOPool.setWeights( weights ); // 设置初始连接数、最小和最大连接数以及最大处理时间 sockIOPool.setInitConn( 5 ); sockIOPool.setMinConn( 5 ); sockIOPool.setMaxConn( 250 ); sockIOPool.setMaxIdle( 1000 * 60 * 60 * 6 ); // 设置主线程的睡眠时间 sockIOPool.setMaintSleep( 30 ); // 设置TCP的参数,连接超时等 sockIOPool.setNagle( false ); sockIOPool.setSocketTO( 3000 ); sockIOPool.setSocketConnectTO( 0 ); //sockIOPool.setFailover(bFailover); //sockIOPool.setAliveCheck(bAliveCheck); // 初始化连接池 sockIOPool.initialize(); // 压缩设置,超过指定大小(单位为K)的数据都会被压缩 if (memCachedClient == null) { mcc = new MemCachedClient(sPoolName); mcc.setCompressEnable(true); mcc.setCompressThreshold(4096); mcc.setPrimitiveAsString(true); } }/*<h3>基于Spring的配置,如下:</h3> <pre> <bean id="memCachedService" class="com.ms.memcached.MemCachedServiceImpl"> <constructor-arg index="0" value="${memcached.pool.name}" /> <constructor-arg index="1" value="${memcached.pool.servers}" /> <constructor-arg index="2" value="${memcached.pool.initConn}" /> <constructor-arg index="3" value="${memcached.pool.maxConn}" /> <constructor-arg index="4" value="${memcached.pool.minConn}" /> <constructor-arg index="5" value="${memcached.pool.socketTO}" /> <constructor-arg index="6" value="${memcached.pool.maintSleep}" /> <constructor-arg index="7" value="${memcached.pool.nagle}" /> <constructor-arg index="8" value="${memcached.pool.failover}" /> <constructor-arg index="9" value="${memcached.pool.aliveCheck}" /> </bean> </pre> <h3>利用com.MS.cache.properties来设置参数,如下:</h3> <pre> memcached.pool.name = MS memcached.pool.servers = 192.168.9.132:12000,192.168.9.133:12000 memcached.pool.initConn = 128 memcached.pool.maxConn = 1024 memcached.pool.minConn = 20 memcached.pool.socketTO = 3000 memcached.pool.maintSleep = 30 memcached.pool.nagle = false memcached.pool.failover = true memcached.pool.aliveCheck = true </pre>*/ /** * 保护型构造方法,不允许实例化! */ protected MemCached() { } /** * 获取唯一实例. */ public static MemCached getInstance() { return memCached; } /** * 添加一个指定的值到缓存中. * @param key * @param value */ //新增指定key的缓存内容,但不覆盖已存在的内容。 public boolean add(String key, Object value) { return mcc.add(key, value); } //expiry过期时间 public boolean add(String key, Object value, Date expiry) { return mcc.add(key, value, expiry); } //新增或覆盖指定Key的缓存内容 public boolean set(String key, Object value) { return mcc.set(key, value); } //lExpiry过期时间 public boolean set(String key, Object value, long lExpiry) { return mcc.set(key, value, new Date(lExpiry)); } //根据指定的Key获取缓存内容 public boolean get(String key) { return mcc.get(key); } //根据指定Key更新缓存内容 public boolean replace(String key, Object value) { return mcc.replace(key, value); } //lExpiry 指定的时间 public boolean replace(String key, Object value, long lExpiry) { return mcc.replace(key, value, new Date(lExpiry)); } //根据指定Key删除缓存内容 public boolean delete(String key, Object value) { return mcc.delete(key, value); } //根据指定Key在指定时间后删除缓存内容 public boolean delete(String key, Object value, long lExpiry) { return mcc.delete(key, value, new Date(lExpiry)); } //检测Cache中当前Key是否存在 public boolean exists(String key) { return mcc.exists(key); } //根据指定一批Key批量获取缓存内容。 /* * @param sKeys 指定的一批Key。 * @return Object[oValue] */ public Object[] getMultiArray(String[] sKeys) throws ServiceException { return memCachedClient.getMultiArray(sKeys); } /** * 根据指定一批Key批量获取缓存内容。 * * @param sKeys 指定的一批Key。 * @return Map<sKey, oValue> */ public Map<String, Object> getMulti(String[] sKeys) throws ServiceException { return memCachedClient.getMulti(sKeys); } public static void main(String[] args) { MemCached memCached= MemCached.getInstance(); memCached.add("hello", 234); System.out.print("get value : " + memCached.get("hello")); }} 那么我们就可以通过简单的像main方法中操作的一样存入一个变量,然后再取出进行查看,我们可以看到先调用了add,然后再进行get,我们运行一次 后,234这个值已经被我们存入了memcached的缓存中的了,我们将main方法中红色的那一行注释掉后,我们再运行还是可以看到get到的 value也是234,即缓存中我们已经存在了数据了。 对基本的数据我们可以操作,对于普通的POJO而言,如果要进行存储的话,那么比如让其实现java.io.Serializable接口,因为 memcached是一个分布式的缓存服务器,多台服务器间进行数据共享需要将对象序列化的,所以必须实现该接口,否则会报错的。Entity/** * 获取当前实体的缓存Id * * @return */ public String getCacheId() { return getCacheId(this.getClass(), sBreedId); } get public Breed getBreedById(String sBreedId) throws ServiceException { Breed breed = (Breed)memCachedService.get(getCacheId(Breed.class, sBreedId)); if(breed == null) { breed = service.get("breed.getBreedById", sBreedId); if(breed != null) { memCachedService.set(breed.getBreedId(), breed); } } return breed; } save memCachedService.set(spider.getCacheId(), breed); update memCachedService.replace(spider.getCacheId(), breed); remove memCachedService.delete(getCacheId(Spider.class, IbreedId)); 或 memCachedService.delete(breed.getCacheId());listAll public List listAll() throws ServiceException { List breeds = new ArrayList (); List breedIds = (List)memCachedService.get(getKeyByMap("Breed", null)); if(ObjectUtils.isEmpty(breedIds)) { breeds = service.list("breed.getAllBreed", null); if (!ObjectUtils.isEmpty(breeds)) { breedIds = new ArrayList(); for (Breed breed : breeds) { breedIds.add(breed.getBreedId()); } memCachedService.set(getKeyByMap("Breed", null), breedIds); } } else { for (String sBreedId : breedIds) { Breed breed = getBreedById(sBreedId); if (breed != null) { breeds.add(breed); } } } return breeds; }
⑧ linux 怎么启动memcache
MemCache是高性能分布式内存对象缓存系统(将数据调用到内存中,然后在内存中读取,从而大大提高读取速度)Memcached安装与启动: 安装memcached需要先安装libeventShell>tar zxvf libevent-1.4.14b-stable.tar.gz Shell>cd libevent-1.4.14b-stable Shell>./configure Shell>make && make install 安装memcachedShell>tar zxvf memcached-1.2.5.tar.tar Shell>cd memcached-1.2.5 Shell>./configure –prefix=/usr/local/memcached Shell>make && make install 启动memcached Shell>/usr/local/memcached/bin/memcached –p 11211 –d –u root –P /tmp/memcached.pid-P是表示使用TCP,默认端口为11211 -d表示后台启动一个守护进程(daemon) -u表示指定root用户启动,默认不能用root用户启动 -P表示进程的pid存放地点,此处“p”为大写“P” -l,后面跟IP地址,手工指定监听IP地址,默认所有IP都在监听 -m后面跟分配内存大小,以MB为单位,默认为64M -c最大运行并发连接数,默认为1024 -f 块大小增长因子,默认是1.25 -M 内存耗尽时返回错误,而不是删除项,即不用LRU算法
⑨ linux memcached 分配多大的内存和连接数
memcached的基本设置:来 -p 监听的端口自 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install
未经允许不得转载:山九号 » memcachedlinux配置文件|linux 怎么启动memcache