java开发:分享一下MemCached的使用
在项目开发中,有些不经常修改的数据,我们通常都会选择使用缓存。其中一种方式,就是memcached.
windows系统中,我们需要下载并安装memcached。
地址如:D:\memcached\memcached.exe
然后,用管理员身份运行cmd.exe,输入启动命令:
aaarticlea/png;base64,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" alt="" />
这样,我们在项目中就可以创建缓存实例了:
public class MemcachedManager { // 创建MemCachedClient全局对象
private static MemCachedClient mcc = new MemCachedClient(); static {
// 创建服务器列表及其权重
String[] servers = { "127.0.0.1:11211" };
Integer[] weights = { 3 }; // 创建Socket连接池对象
SockIOPool pool = SockIOPool.getInstance(); // 设置服务器信息
pool.setServers(servers);
pool.setWeights(weights);
pool.setFailover(true); // 设置初始连接数、最小和最大连接数以及最大处理时间
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.setAliveCheck(true); // 初始化连接池
pool.initialize(); } /**
* 无参构造
*/
protected MemcachedManager() { } // 受保护的对象
protected static MemcachedManager instance = new MemcachedManager(); /**
* 为受保护的对象提供一个公共的访问方法
*/
public static MemcachedManager getInstance() {
return instance;
} /**
* 添加对象到缓存中,构成方法重载
*
* @param key
* @param value
* @return
*/
public boolean add(String key, Object value) {
return mcc.add(key, value);
} public boolean add(String key, Object value, Date expiry) {
return mcc.add(key, value, expiry);
} public boolean replace(String key, Object value) {
return mcc.replace(key, value);
} public boolean replace(String key, Object value, Date expiry) {
return mcc.replace(key, value, expiry);
} /**
* 根据指定的关键字获取对象
*/
public Object get(String key) {
return mcc.get(key);
} public static void main(String[] args) {
// 得到MemcachedManager实例
MemcachedManager cache = MemcachedManager.getInstance();
//创建test缓存
cache.add("test", "hello");
//取出test缓存
System.out.println(cache.get("test"));
//修改test缓存
cache.replace("test", "hello123");
//取出test缓存
System.out.println(cache.get("test"));
} }
运行这个例子后,打印出的结果如下:
hello
hello123
java开发:分享一下MemCached的使用的更多相关文章
- Java微信分享接口开发
发布时间:2018-11-07 技术:springboot+maven 概述 微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈 详细 代码下载:http://www.demodas ...
- 校园表白墙、微信表白墙、校园墙 微信小程序 JAVA 开发记录与分享
目录 最新版表白墙博客地址 1.微信小程序前台展示 2.功能介绍 3.后台管理 4.后端语言采用 JAVA 开发 5.体验此微信小程序 扫描下方二维码 6.如何联系我或需要源码进行联系 最新版表白墙博 ...
- 分享Java开发的利器-Lombok
译注:Lombok是一个很老的项目了,也非常实用,但奇怪的是这么多年来似乎一直不温不火.很多Lombok特性可以参考它的官网介绍哈.兄弟连教育在这里只是简单介绍一下它的基础功能. Lombok是一个旨 ...
- 分享:Java 开发精美艺术二维码
博客地址:https://ainyi.com/58 Java 开发精美艺术二维码 看到网络上各种各样的二维码层出不穷,好像很炫酷的样子,一时兴起,我也要制作这种炫酷二维码效果 例如: 根据以往例子 根 ...
- 使用Java开发高性能网站需要关注的那些事儿
无论大型门户网站还是中小型垂直类型网站都会对稳定性.性能和可伸缩性有所追求.大型网站的技术经验分享值得我们去学习和借用,但落实到更具体的实践上并不是对所有网站可以适用,其他语言开发的网站我还不敢多说, ...
- Java开发高性能网站需要关注的事
转自:http://www.javabloger.com/java-development-concern-those-things/ 近期各家IT媒体举办的业内技术大会让很多网站都在披露自己的技术内 ...
- java开发面试大全刷题整理
题目源自Java团长公众号,内容个人整理,来源于各大博客,未经允许,不准摘抄,仅供分享,不做商业使用. 本分享多数为浅层知识体系,更为底层的还请自行多写写代码,若有不对之处,望广大的人才指点,不喜勿喷 ...
- 使用Java开发高性能网站需要关注的那些事儿2
近期各家IT媒体举办的业内技术大会让很多网站都在披露自己的技术内幕与同行们分享,大到facebook,百度,小到刚起步的网站.facebook,百度之类的大型网站采用的技术和超凡的处理能力的确给人 ...
- 打造Linux三流娱乐环境,二流办公环境,一流Java开发环境
写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者.我 ...
- 转:Java开发牛人十大必备网站
原文来自于:http://www.importnew.com/7980.html 以下是我收集的Java开发牛人必备的网站.这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题.面试问题等.质 ...
随机推荐
- CPU与内存(经典问答)
原文:http://www.cnblogs.com/xkfz007/archive/2012/10/08/2715163.html 下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如 ...
- 文件频繁IO能有多大的差别
测试文件写同样大小的文件,单次记录较小和单次记录较大能有多大的性能差别. 最终写入同样大小的文件,小记录需要写入10w次,大记录需要写入1w次,看下最终的性能报告
- 简谈 JavaScript、Java 中链式方法调用大致实现原理
相信,在 JavaScript .C# 中都见过不少链式方法调用,那么,其中实现该类链式调用原理,大家有没有仔细思考过?其中 JavaScript 类库:jQuery 中就存在大量例子,而在 C# 中 ...
- contiki-main.c 一 打印观察 <contiki学习之五>
说明: 本文依赖于 contiki/platform/native/contiki-main.c 文件. 在项目工程目录下的hello-world.c 文件里面,有许多的宏,但没有最关键的main() ...
- bzoj 4300: 绝世好题 dp
4300: 绝世好题 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php ...
- 使用C# 实现文件锁
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- alternatives命令使用方法
alternatives命令使用方法 alternatives是Linux下的一个功能强大的命令.仅仅能在root权限下运行.如系统中有几个命令功能十分相似,却又不能任意删除,那么能够用 altern ...
- C++ CheckMenuItem
菜单单选 关键点 CMenu::GetMenuState UINT GetMenuState( UINT nID, UINT nFlags ) const; MF_CHECKED MF_DISABLE ...
- 第二周02:Fusion ICP逐帧融合
本周主要任务02:Fusion 使用ICP进行逐帧融合 任务时间: 2014年9月8日-2014年9月14日 任务完成情况: 已实现将各帧融合到统一的第一帧所定义的摄像机坐标系下,但是由于部分帧之间的 ...
- iOS开发——网络编程Swift篇&(六)异步Post方式
异步Post方式 // MARK: - 异步Post方式 func asynchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &q ...