memcache用法
【window】
http://sishuok.com/forum/blogPost/list/3083.html
http://www.cnblogs.com/freshman0216/archive/2013/01/19/2867994.html
将memcache服务器安装包解压到C:\memcached文件夹后,使用cmd命令窗口安装。
1>开始>运行:CMD(确定)
2>cd C:\memcached(回车)
3>memcached -d install(回车 这步执行安装)
4>memcached -d start(回车 这步执行启动memcache服务器,默认分配64M内存,使用11211端口)
此时memcache服务器已经可以正常使用了。
【linux】
参考【http://my.oschina.net/flynewton/blog/9694】
下载地址
memcached下载地址:http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz
Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
1. 首先下载memcached 和 libevent 包。 Memcached用到了libevent这个库用于Socket的处理。下面是下载的两个包文件:
libevent-1.4.14b-stable.tar.gz
memcached-1.4.0.tar.gz
2. 上传这两个包到/scmgt/memcache目录(自建目录)下。
3. 解压并安装:
tar -zxf libevent-1.4.14b-stable.tar.gz
tar -zxf memcached-1.4.0.tar.gz
cd libevent-1.4.14b-stable
#################./configure --prefix=/usr (./configure -prefix=/usr) (--prefix=/gt/lib)
【如果usr没有权限就 ./configure --prefix=/scmgt/memcache/lib】
make && make install
cd ../ memcached-1.4.0
#################./configure --with-libevent=/usr
【如果usr没有权限就 ./configure --prefix=/scmgt/memcache/lib --with-libevent=/scmgt/memcache/lib】
make && make install
4. 启动Memcached
完成上述操作后,memcached被安装/usr/local/bin/【/scmgt/memcache/lib/bin】目录下。启动Memcache的服务器的命令:
/scmgt/memcache/lib/bin/memcached -d -m 1024 -u scmgt -l 10.25.193.16 -p 11211 -c 256 -P /scmgt/memcache/memcached.pid
【xx用法 ./memcached -d -m 2048 -p 11211】
参数说明:
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是1GB,
-u 是运行Memcache的用户,这里是root,
-l 是监听的服务器IP地址,如果有多个地址的话,以逗号隔开。这里指定了服务器的IP地址192.168.13.236,
-p 是设置Memcache监听的端口,我这里设置了12001,最好是1024以上的端口,
-c 选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P 是设置保存Memcache的pid文件,我这里是保存在 /tmp/chenxinhan/memcached.pid,
5. 结束Memcache进程,执行:
kill `cat /tmp/chenxinhan/memcached.pid`
或者:
ps -aux | grep memcache
然后直接kill掉memcache进程。
6. 可以启动多个守护进程,但是端口不能一样。这样就可以在一台机器上拥有多个Memcached
7:增加到开机启动
# vi /etc/rc.local
增加:/usr/local/memcacheq/bin/memcacheq -d -r -uroot -p11212 -H /var/mcq/data -N -R -v -L 1024 -B 1024 > /var/mcq/logs/mq_error.log 2>&1
8. 代码测试:
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class CacheManager {
private static MemCachedClient mcc = null;
static {
//String[] servers ={"127.0.0.1:11211"};
String[] servers ={"10.25.193.16:11211"};
//负载权重
Integer[] weights = {100};
//创建一个实例对象SockIOPool,设置mcc参数
SockIOPool pool = SockIOPool.getInstance();
pool.setServers( servers );
pool.setWeights( weights );
//设置初始连接数、最小和最大连接数以及最大处理时间
pool.setInitConn( 100 );
pool.setMinConn( 100 );
pool.setMaxConn( 500 );
pool.setMaxIdle( 1000 * 60 * 60 * 6 ); //6小时
//设置主线程的睡眠时间
pool.setMaintSleep( 30 );
pool.setNagle( false );
pool.setSocketTO( 3000 );
pool.setSocketConnectTO( 0 );
pool.initialize();
//!!!注意:如果是我们自己的对象存放,最好重写序列化方法,不用使用默认。
mcc = new MemCachedClient();
//压缩设置,超过指定大小(单位为K)的数据都会被压缩
// mcc.setCompressEnable(true);
// mcc.setCompressThreshold(64*1024);
//使用代码
// String key="id00001";
// boolean r = mcc.set(key,"succe2ss", new Date(10 * 60 * 1000));//10分钟
// System.out.println("SET "+ r);
//
// System.out.println(mcc.get(key));
// System.out.println(mcc.get(key));
}
public CacheManager(){
}
public static MemCachedClient getMemCachedClient(){
return mcc;
}
public boolean set(String key,Object obj){
return mcc.set(key, obj);
}
public boolean set(String key,Object obj,Date date){
return mcc.set(key, obj,date);
}
public Object get(String key){
return mcc.get(key);
}
public boolean add(String key,Object obj){
return mcc.add(key, obj);
}
public static void main(String[] args) {
if(args!=null && args.length==1 && args[0].equals("0"))
CacheManager.getMemCachedClient().set("11", "22");
System.out.println(CacheManager.getMemCachedClient().get("11"));
}
}
参考
http://afterglow.iteye.com/blog/705110
memcache用法相关推荐
- thinkphp memcache mysql_thinkphp中memcache的用法实例
本文实例讲述了thinkphp中memcache的用法.分享给大家供大家参考.具体分析如下: 1.下载并安装memcache ① window下安装memcache. 下载memcached.exe ...
- php memcache increment,memcache的increment用法
PHP在操作Memcache数据的时候,我们习惯用get,set,delete比较多些,突然发现increment和decrement其实是很有用的,听说使用得当对程序的性能是很有帮助的. 先看下文档 ...
- Memcache、Redis应用场景与高级用法
做项目用了挺多次redis,记不住,还是自己参考+总结下吧... 文章目录 0. memcache区别 1. string 应用场景 1.图片.手机验证码 2.登陆限制 2. hash 应用场景 1. ...
- memcache php mysql_PHP中的数据库二、memcache
在一个高并发的web应用中,数据库存取瓶颈一直是个大问题,一旦达到某个极限,数据库很容易崩溃,但是如果我们把常用的数据放到内存中,在需要的时候从内存中取,不光读取速度快,而且节约数据库IO. memc ...
- Memcached的定义及用法
为了见识数据库的开销,Memcached简洁而强大.它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题.它的API兼容大部分流行的开发语言. 一般的使用目的是,通过缓存数据库查询结果 ...
- PHP memcache实现消息队列实例
现在,memcache于server缓存广泛应用.下面我来介绍一下memcache消息队列中等待的样本实现,有需要了解的朋友可以参考. memche消息队列原则key上做文章.后消息或者日志. 然后通 ...
- PHP Memcache详解
memcache函数所有的方法列表如下: Memcache::add – 添加一个值,如果已经存在,则返回false Memcache::addServer – 添加一个可供使用的服务器地址 Memc ...
- Redis 在真实世界的 5 个用法
https://www.jb51.net/article/136015.htm Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供 ...
- Memcache 安装和常见命令
memcached常见命令 1.安装libevent wget https://github.com/downloads/libevent/libevent/libevent-1.4.10-stab ...
最新文章
- ubuntu自定义命令
- Velocity笔记--使用Velocity获取动态Web项目名的问题
- 【编程珠玑】读书笔记 第二章 算法
- import static和import的区别
- IOS开发系列--IOS程序开发概览
- 测试的目的_为什么需要测试?(软件测试的目的)
- nginx 只允许/不允许 其他域名直接访问
- android组件启动,Android四大组件Service之StartService启动
- 深度学习核心技术精讲100篇(二十)-如何通过树模型实现梯度提升树(GBDT)+LR,随机森林(RandomForest) +LR
- 【WiFi密码破解详细图文教程】ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解
- bloomberg用法 固定收益_干货 | 日语高考高频考点:助词を的用法
- 【TI-ONE系列教程(二)】如何使用 TI-ONE 平台内置算子玩转算法大赛
- mysql的select复合查询语法_MySQL(九)之数据表的查询详解(SELECT语法)二
- 【基础教程】基于matlab局部特征检测与提取【1749期】
- 网络营销策略分析讲解
- 普特南数学竞赛的经验
- 【已解决】macbook pro m1芯片ubuntu20.04ARM64虚拟机添加输入法
- 新浪微博PC客户端(DotNet WinForm版)—— 初探
- 如何使用帆软BI直接分析明道云数据
- linux系统盘锁着,用Linux启动盘解决硬盘逻辑锁