设为首页 收藏本站
查看: 1421|回复: 0

[经验分享] memcache的简单使用及 插入对象的实现

[复制链接]

尚未签到

发表于 2017-4-16 09:05:23 | 显示全部楼层 |阅读模式
由于项目需要,今天学习了memcache的使用方法。
1. memcache的服务器端的安装
   下载memcache for win32, 解压缩后,在cmd命令行敲入命令
       memcache -start,
    就可以启动服务器端程序
2. java客户端访问
   2.1 下载memcache for java client的插件
        本人使用的是http://www.whalin.com/memcached/#download下载的
        版本号为java_memcached-release_2.0.1.jar
   2.2  进行初始化
        获得MemCachedClient对象
        static{
         连接服务器端:
               SockIOPool pool = SockIOPool.getInstance();     
         设置server, weight
               pool.setServer(), pool.setWeight()
            )
   2.3 pool.initialize(); 进行初始化动作
3. memcacheclient.set(key, value, expiredTime)
   就是插入数据,key-value成对
   和hashmap的思路一致
   注意:如果要想对某个对象进行存取操作,该对象本身进行序列化处理,否则会报空指针异常。具体的办法实现seriable就可以。
4. memcacheclient.get(key)
   根据key,得到value值
具体代码如下:

import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

public class MemcacheTest {
//获得关键客户端对象,方便后续的set,get方法
protected static MemCachedClient mcc = new MemCachedClient();
static{
String[] servers = {
"127.0.0.1:11211"
};
Integer[] weights = {
3
};
//单例模式,获得一个实例,关键c/s连接
SockIOPool pool = SockIOPool.getInstance();
//设置服务器和权重
pool.setServers(servers);
pool.setWeights(weights);
//设置基本配置
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000*60*60*6);
//设置主线程的休眠时间
pool.setMaintSleep(30);
//tcp发送规则
pool.setNagle(false);
//连接建立后的超时控制
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);
//初始化设置
pool.initialize();
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64*1024);
}
/**
* 往服务器端的cache插入数据
* 注意key-value成对插入
* 参数过期时间
*/
public static void buildCache(){
mcc.set("test", "this is my first test string", new Date(10000));
}
/**
* 取出远程服务器端的value
* 根据key, 取出value
* 并且打印
*/
public static void output(){
String value = (String) mcc.get("test");
System.out.println("value: "+ value);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long time = System.currentTimeMillis();
buildCache();
output();
System.out.println("it cost time: " + (System.currentTimeMillis() - time));
}
}


运行结果:
value: this is my first test string
it cost time: 109

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-365192-1-1.html 上篇帖子: memcache的简单使用及 插入对象的实现 下篇帖子: 在使用memcache保存Javabean时郁闷的杯具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表