分分钟学会使用memcached
1、首先要搭建服务端的程序。
下载地址:http://pan.baidu.com/s/1hrJ9jE0 密码:spqc
将对应版本的文件夹,放到D盘,任意位置即可
桌面-程序-运行-cmd-打开命令行:
D:
进入D盘
cd memcache(文件夹名,你起的啥就敲啥)
memcached -d install
如果执行不成功,抛了个异常,则需要进入C:\Windows\System32\cmd.exe
选中后,以管理员权限去运行即可。
2、下载客户端使用的jar文件,因为在maven库里搜了好久都没有搜到相关的jar文件,所以就将jar文件放到自己本地的maven库中,然后使用项目引用。
下载你要使用版本的memcached。下载memcached client
3、将里面的 java_memcached-release_2.6.6.jar 这个文件 放在d盘(你看哪边爽 放在哪边)
4、cmd 进入命令;进入D:盘,输入如下命
D:\>mvn install:install-file -Dfile=d:/java_memcached-release_2.6.6.jar -DgroupId=com.danga -DartifactId=memcached -Dversion=2.6.6 -Dpackaging=jar -DgeneratePom=true
5、项目中使用maven引用文件
<dependency>
<groupId>com.danga</groupId>
<artifactId>memcached</artifactId>
<version>2.6.6</version>
</dependency>
6、memcached的使用
package cfs.wsdl.cache;
import java.io.Serializable; import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class test {
public static void main(String[] args) {
String[] servers = { "192.168.1.126:11211" }; //配置服务端的地址,看好这是个数组,也意味着多个服务端地址直接扔到数组里即可
//得到一个链接池对象并进行一些初始化工作
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(servers);//设置服务端
pool.setFailover(true); //大概意思是为false如果连接管道失败了直接返回就不会再去找其他机器了,为true会组装一些新的key到剩下的服务器里去找。
pool.setInitConn(10); //初始化时对每个服务器建立的连接数目
pool.setMinConn(5); //每个服务器建立最小的连接数,当自查线程发现与某个服务器建立连接数目小于这个数目时会弥补剩下的连接
pool.setMaxConn(250); //每个服务器建立最大的连接数
//pool.setMaintSleep( 30 );//自查线程周期进行工作,其每次休眠时间
pool.setNagle(false); //Socket的参数,如果是true在写数据时不缓冲,立即发送出去
pool.setSocketTO(3000); //Socket阻塞读取数据的超时时间
pool.setAliveCheck(true);//为true会检查Socket是否已经连接
pool.initialize(); //初始化完毕
//得到具体的客户端操作对象
MemCachedClient mcc =new MemCachedClient();
//插入数据3中方式
mcc.set("test1", "测试1");//第一种,这种方式如果key已存在则直接覆盖重写了
mcc.add("test2", "测试2");//第二种,这种方式只会添加,如果key已存在则返回false,添加不成功
mcc.replace("test3", "测试3");//顾名思义,同第一种差不多。
//如果想要存实体类,必须要将实体类序列化。让实体类 去 implements Serializable 这个接口
//如果想要存泛型集合,同理,对应的泛型也必须要序列化。
//获取数据
mcc.get("test1");//获取到的数据别忘啦转型哦
//删除数据
mcc.delete("test1");
//清空数据
mcc.flushAll();//执行了此方法,所有缓存的数据都置空了,再获取则为null }
}
//获取所有的key
public static List<String> getAllKeys() {
MemCachedClient memCachedClient= MemcachedUtil.getMcu().getMcc();
List<String> list = new ArrayList<String>();
Map<String, Map<String, String>> items = memCachedClient.statsItems();
for (Iterator<String> itemIt = items.keySet().iterator(); itemIt.hasNext();) {
String itemKey = itemIt.next();
Map<String, String> maps = items.get(itemKey);
for (Iterator<String> mapsIt = maps.keySet().iterator(); mapsIt.hasNext();) {
String mapsKey = mapsIt.next();
String mapsValue = maps.get(mapsKey);
if (mapsKey.endsWith("number")) { //memcached key 类型 item_str:integer:number_str
String[] arr = mapsKey.split(":");
int slabNumber = Integer.valueOf(arr[1].trim());
int limit = Integer.valueOf(mapsValue.trim());
Map<String, Map<String, String>> dumpMaps = memCachedClient.statsCacheDump(slabNumber, limit);
for (Iterator<String> dumpIt = dumpMaps.keySet().iterator(); dumpIt.hasNext();) {
String dumpKey = dumpIt.next();
Map<String, String> allMap = dumpMaps.get(dumpKey);
for (Iterator<String> allIt = allMap.keySet().iterator(); allIt.hasNext();) {
String allKey = allIt.next();
list.add(allKey.trim()); }
}
}
}
}
return list;
}
获取所有的key
分分钟学会使用memcached的更多相关文章
- 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神
原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...
- 干货分享:让你分分钟学会 javascript 闭包
闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...
- 让你分分钟学会 JS 闭包
闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...
- 干货分享:让你分分钟学会 javascript 闭包(转)
闭包,是javascript中独有的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述,直 ...
- [转][译] 分分钟学会一门语言之 Python 篇
Python was created by Guido Van Rossum in the early 90's. It is now one of the most popularlanguages ...
- 让你分分钟学会 javascript 闭包
闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...
- SpringBoot系列(八)分分钟学会Springboot多种解决跨域方式
SpringBoot系列(八) 分分钟学会SpringBoot多种跨域解决方式 往期推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 s ...
- 干货分享:让你分分钟学会 JS 闭包
闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...
- 让你分分钟学会Javascript中的闭包
Javascript中的闭包 前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它 ...
随机推荐
- js关于对象键值为数字型时输出的对象自动排序问题的解决方法
一.对象键值为数字型时输出的对象自动排序问题如: var objs = { "1603":{id:"1603"}, "1702" ...
- 【rational rose】用例图
- 想要愉快入住酒店?缺了它还真不行!(含PPT)
编者注:别想歪了!我们说的是“机器学习”~ 在携程技术中心推出的线上公开课程[携程技术微分享]上,来自携程酒店研发的BI经理潘鹏举,介绍了如何借助大数据和算法,通过机器学习去克服酒店服务行业挑战,给用 ...
- 通俗易懂的ListView讲解(Adapter、图、实例)
2016/4/5 17:22] 之前写listview其实写了很多次,但好像还是模模糊糊的感觉,直到今天准备写tab的时候被告诉说原理有像的地方,于是我就先来分析整理一下listview好了 先来 ...
- 2016年5月11日摘自知乎的一些Redis大概了解
1. 知乎日报的基础数据和统计信息是用 Redis 存储的,这使得请求的平均响应时间能在 10ms 以下.其他数据仍然需要存放在另外的地方,其实完全用 Redis 也是可行的,主要的考量是内存占用.就 ...
- 若干道Swift面试题
1,说说你认识的Swift是什么?Swift是苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于MAC OS和iOS平台,用于搭建基于苹果平台的应用程序. ...
- 【jQuery基础学习】11 jQuery性能简单优化
关于性能优化 合适的选择器 $("#id")会直接调用底层方法,所以这是最快的.如果这样不能直接找到,也可以用find方法继续查找 $("p")标签选择器也是直 ...
- 利用Spring创建定时任务
啊Spring Task看似很简单的感觉,但是自己搞起来还是花了蛮大的精力的,因为以前没接触过这个东西,所有当任务交给我的时候,我是一头的雾水的.然后我就各种查资料.其中我印象最深的是版本的问题和架包 ...
- oracle sql 语句优化
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理 ...
- Python科学计算——前期准备
1.开发环境搭建 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公 ...