下载

memcache win7 64位 安装文件

a. 下载最新版:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available
b. 直接下载: memcached-win64-1.4.4-14.zip

安装

1. 解压放某个盘下面,比如:

D:\WampServer\bin\memcached\memcached.exe

2. 在cmd命令界面下输入以下命令,将memcached安装成为windows服务

D:\WampServer\bin\memcached>memcached.exe -d install

3. 再输入下面命令启动:

D:\WampServer\bin\memcached>memcached.exe -d start

或者

memcached  -m 128 -l 127.0.0.1 -p 11211 (128M内存,默认64;地址127.0.0.1;端口:默认11211)
这里参数有很多,这里就不介绍了,有兴趣的可以自己去查一下。

控制台命令:

命令提示符下运行

安装:

memcached -d install

memcached -d start

net start "Memcached Server"

卸载:

memcached -d stop

memcached -d remove

sc delete "Memcached Server"

memcached的基本设置:

-p 监听的端口

-l 连接的IP地址, 默认是本机

-d start 启动memcached服务

-d restart 重起memcached服务

-d stop|shutdown 关闭正在运行的memcached服务

-d install 安装memcached服务

-d uninstall 卸载memcached服务

-u 以的身份运行 (仅在以root运行的时候有效)

-m 最大内存使用,单位MB。默认64MB

-M 内存耗尽时返回错误,而不是删除项

-c 最大同时连接数,默认是1024

-f 块大小增长因子,默认是1.25

-n 最小分配空间,key+value+flags默认是48

-h 显示帮助

简介

项目地址 (memcache-client-for java) https://code.google.com/p/memcache-client-forjava/

下载对应的jar文件 alisoft-xplatform-asf-cache-2.5.1.jar

这个jar文件依赖于一些开源的库文件(参考大神写的 Memcached_Client_HandBook.docx ,里面详细列举了需要的依赖包)

commons-logging-1.0.4.jar or high version
log4j-1.2.12.jar or high version
codehaus/woodstox/wstx-asl-3.2.1.jar or high version
codehaus/staxapi/stax-api-1.0.1.jar or high version
2.5.2版本以后还需要caucho/hessian/hessian-3.2.0.jar or high version

Cache Client单客户端配置

memcached.xml,存放目录 /src目录下

<?xml version="1.0" encoding="UTF-8"?><memcached><client name="mclient0" compressEnable="true" defaultEncoding="UTF-8" socketpool="pool0"><errorHandler>com.alisoft.xplatform.asf.cache.memcached.MemcachedErrorHandler</errorHandler></client><socketpool name="pool0" failover="true" initConn="5" minConn="5" maxConn="250" maintSleep="0"nagle="false" socketTO="3000" aliveCheck="true"><servers>127.0.0.1:33001</servers></socketpool> <cluster name="cluster1"><memCachedClients>mclient0</memCachedClients></cluster></memcached>

1.创建memcached的标签。

2.创建 client的标签。

注意:

name 属性是程序中使用Cache的唯一标识。

socketpool 属性将会关联到后面的socketpool配置。

errorHandler 可选,用来处理出错情况。注意在Tag中不要使用空格或者Tab键。

3.创建socketpool的标签。

注意:

name 属性和client 配置中的socketpool 属性相关联。

maintSleep属性是后台线程管理SocketIO池的检查间隔时间,如果设置为0,则表明不需要后台线程维护SocketIO线程池,默认需要管理。

socketTO 属性是Socket操作超时配置,单位ms。

aliveCheck 属性表示在使用Socket以前是否先检查Socket状态。

4.创建 servers 标签作为socketPool的子标签.设置memcache服务端实例地址,支持多个地址设置,例如“10.2.224.36:33001” 或 “10.2.224.36:33001, 10.2.224.46:33002”.

5.创建 weights 标签作为socketPool的子标签(可选),它表明了上面设置的服务器实例的Load权重. 例如 <weights>3,7</weights> 表示30% load 在 10.2.224.36:33001, 70% load 在 10.2.224.46:33001

好了,基础的配置就如上。

或者,也可以配置多个client,如下:

<?xml version="1.0" encoding="UTF-8"?>
<memcached>  <client name="mclient0" compressEnable="true" defaultEncoding="UTF-8" socketpool="pool0">  <errorHandler>com.alisoft.xplatform.asf.cache.memcached.MemcachedErrorHandler</errorHandler>              </client>  <client name="mclient1" compressEnable="true" defaultEncoding="UTF-8" socketpool="pool1">  <errorHandler>com.alisoft.xplatform.asf.cache.memcached.MemcachedErrorHandler</errorHandler>              </client>  <client name="mclient2" compressEnable="true" defaultEncoding="UTF-8" socketpool="pool2">  <errorHandler>com.alisoft.xplatform.asf.cache.memcached.MemcachedErrorHandler</errorHandler>              </client>  <socketpool name="pool0" failover="true" initConn="5" minConn="5" maxConn="250" maintSleep="5000" nagle="false" socketTO="3000" aliveCheck="true">  <servers>127.0.0.1:11211</servers>  <weights>1</weights>  </socketpool>   <socketpool name="pool1" failover="true" initConn="5" minConn="5" maxConn="250" maintSleep="5000" nagle="false" socketTO="3000" aliveCheck="true">  <servers>127.0.0.1:11311</servers>  <weights>1</weights>  </socketpool>  <socketpool name="pool2" failover="true" initConn="5" minConn="5" maxConn="250" maintSleep="5000" nagle="false" socketTO="3000" aliveCheck="true">  <servers>127.0.0.1:11411</servers>  <weights>1</weights>  </socketpool>
</memcached>  

使用前,必须按照配置文件来启动memcached!例如:

memcached -d -m 128 -l 127.0.0.1 -p 11211

写一个java类:

/****/
package com.icss.biz.util;import java.util.Date;import com.alisoft.xplatform.asf.cache.memcached.client.MemCachedClient;
import com.alisoft.xplatform.asf.cache.memcached.client.SockIOPool;/***  *  @author xxl**/
public class MemCachedManager
{// 创建全局的唯一实例protected static MemCachedClient mcc = new MemCachedClient();protected static MemCachedManager memCached = new MemCachedManager();// 设置与缓存服务器的连接池static {// 服务器列表和其权重String[] servers = { "127.0.0.1:33001" };Integer[] weights = { 3 };// 获取socke连接池的实例对象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();// 压缩设置,超过指定大小(单位为K)的数据都会被压缩mcc.setCompressEnable( true );mcc.setCompressThreshold( 64 * 1024 );}/*** 保护型构造方法,不允许实例化!**/protected MemCachedManager(){}/*** 获取唯一实例.* @return*/public static MemCachedManager getInstance(){return memCached;}/*** 添加一个指定的值到缓存中.* @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);}/*** 根据指定的关键字获取对象.* @param key* @return*/public Object get(String key){return mcc.get(key);}public static void main(String[] args){MemCachedManager cache = MemCachedManager.getInstance();long startDate=System.currentTimeMillis();for (int i = 0; i < 10; i++) {
//            cache.add("test"+i , "中国");}cache.add("test0" , "中国");cache.add("test1" , "中国");long endDate=System.currentTimeMillis();long nowDate=(endDate-startDate)/1000;System.out.println(nowDate);System.out.print( " get value : " + cache.get( "test0" ));}}

具体详情(未整理):

3 新建类 user.javapackage bean;import java.io.Serializable;public class User implements Serializable{/*** 序列号*/private static final long serialVersionUID = -3896605600471191953L;private int uid;private String uname;private String upass;public int getUid() {return uid;}public void setUid(int uid) {this.uid = uid;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUpass() {return upass;}public void setUpass(String upass) {this.upass = upass;}}4 新建 JdbcConnector.javapackage util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class JdbcConnector {// 定义数据库连接常量private final static String DRIVER = "com.mysql.jdbc.Driver";private final static String URL = "jdbc:mysql://192.168.1.13:3306/test";private final static String DBNAME = "root";private final static String DBPASS = "123456";/*** 得到数据库连接* @return* @throws ClassNotFoundException* @throws SQLException*/public Connection getConn()throws ClassNotFoundException,SQLException {// 加载驱动Class.forName(DRIVER);// 通过DriverManager对象得到连接Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS);// 返回数据库连接return conn;}
}5 新建 UserDao.javapackage util;import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import bean.User;import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;public class UserDao extends JdbcConnector {// 定义全局变量Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;/*** 根据Id查询用户* @param uid* @return*/public User getUserById(int uid) {// 创建User对象User user = null;// 创建SQL语句String sql = "select * from user where uid=?";try {// 获得数据库连接conn = (Connection) this.getConn();// 通过Connection对象创建PrepareStatement对象pstmt = (PreparedStatement) conn.prepareStatement(sql);// 设置SQL语句的参数pstmt.setInt(2, uid);// 执行查询,将查询结果赋给ResultSet对象rs = (ResultSet) pstmt.executeQuery();// 遍历指针while (rs.next()){user = new User();user.setUid(rs.getInt("uid"));user.setUname(rs.getString("uname"));user.setUpass(rs.getString("upass"));}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return user;}/*** 查询所有用户* @return*/@SuppressWarnings("unchecked")public List getUserList() {// 创建ArrayList对象List userList = new ArrayList();// 创建SQL对象String sql = "select * from user";try {conn = (Connection) this.getConn();pstmt = (PreparedStatement) conn.prepareStatement(sql);rs = (ResultSet) pstmt.executeQuery();while (rs.next()){User user = new User();user.setUid(rs.getInt("uid"));user.setUname(rs.getString("uname"));user.setUpass(rs.getString("upass"));userList.add(user);}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return userList;}}6 新建 MemcachedManager.javapackage memcachedTest;import java.util.Date;
import java.util.List;import util.UserDao;
import bean.User;import com.alisoft.xplatform.asf.cache.memcached.client.MemCachedClient;
import com.alisoft.xplatform.asf.cache.memcached.client.SockIOPool;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();// 压缩设置,超过指定大小(单位为K)的数据都会被压缩mcc.setCompressEnable(true);mcc.setCompressThreshold(64 * 1024);}/*** 无参构造*/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);}/*** 利用MemCached测试将单个对象存入缓存,并从缓存中取出*/
//  public static void main(String[] args) {
//      // 得到MemcachedManager实例
//     MemcachedManager cache = MemcachedManager.getInstance();
//
//     // 创建UserDao对象
//     UserDao userDao = new UserDao();
//     // 查询单个User对象
//     User user = userDao.getUserById(4);
//
//     // 将User对象添加到缓存中
//     cache.add("user", user.getUname());
//
//     // 将User对象从缓存中取出来
//     String uname = (String)cache.get("user");
//
//     System.out.println("从缓存中取出的对象为:" + uname);
//  }/*** 利用MemCached对象将集合存入缓存,并从缓存中取出*/@SuppressWarnings({ "unchecked", "rawtypes" })public static void main(String[] args) {// 得到MemcachedManager实例MemcachedManager cache = MemcachedManager.getInstance();// 创建UserDao对象UserDao userDao = new UserDao();// 得到集合对象List userList = userDao.getUserList();// 创建User对象User user = null;for (int i=0; i<userList.size(); i++){// 循环遍历集合对象user = (User)userList.get(i);user.getUid();user.getUname();user.getUpass();// 将集合对象存入缓存中cache.add("userList" + i,user.getUname());// 将集合从缓存中取出String uname = (String)cache.get("userList"+i);System.out.println("从缓存中取得的集合为:" + uname);}}}结果从控制台输出:从缓存中取得的集合为:uname
从缓存中取得的集合为:uname1
从缓存中取得的集合为:uname2
从缓存中取得的集合为:uname3

memcache-client-for java下载安装及使用相关推荐

  1. JAVA java学习(2)——————java下载安装与环境配置

    1.java版本及安装 目前Java版本已经更新到15版本,但由于开发工具原因加上是初学者开发工具尽量选择集成开发工具,为了与集成开发工具配套这里以1.8版本为例即Java8,系统window7: ( ...

  2. 为什么java下载安装程序很慢_【关注】微信小程序开发和APP开发的10种区别!

    在移动互联网大火的时代,APP和微信小程序已经成为了企业从移动端获取用户流量,实现盈利的重要端口. 因为微信小程序体积小,操作方便,省去了下载安装这一操作,导致这两年微信小程序的势头是越来越猛,甚至有 ...

  3. uc浏览器黑莓java下载安装_(黑莓软件)黑莓最新版UC浏览器下载安装!8.1最新版UC浏览器!...

    适用系统:OS 4.5,4.6,4.7,5.0,6.0,7.0 网络环境:CMWAP/CMNET/WIFI/BIS/BES UC浏览器是UC 优视科技开发的一款手机浏览器,支持WEB.WAP页面浏览, ...

  4. 魔力 java下载安装,UBNT EdgeMAX EdgeRouter ERPoE-5 POE+ UAP-AC-PRO开箱及安装调试

    本帖最后由 s462026880 于 2016-11-26 18:59 编辑 准备工作 QQ图片20161119163339.png (237.59 KB, 下载次数: 60) 2016-11-19 ...

  5. Java下载安装及配置

    java 1. 下载地址: 官网: https://www.oracle.com/java/technologies/downloads/#java8-windows https://www.java ...

  6. oracle11g、client、plsql下载安装以及配置说明

    一.服务端和客户端下载 本文以Oracle Database 11g Release 2 (11.2.0.1.0) 版本为例,仅供学习参考. 我的系统环境: 1.64位Windows 10家庭中文版 ...

  7. 猫和老鼠java下载安装_tomcat(Java服务器)

    Tomcat(Java服务器工具)是一款十分优质的Java服务器软件.在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机 ...

  8. 我的世界mac版java下载安装,我的世界Mac版-我的世界1.9.2免费版下载 V1.9.2免费版-PC6苹果网...

    我的世界Mac版V1.9.2那是风靡全世界的沙盒游戏--Minecraft的 Mac OS 平台版本,这是目前全世界最具有想象力的一款游戏.虽然我的世界Mac版V1.9.2画面不够精致,没有太多打斗场 ...

  9. 2021京东最新Java面试真题解析,java下载安装教程手机

    前言 今年我也33了,离传说中不好找工作的35岁又更近了.说没有焦虑是对自己撒谎,于是我采访了一些人,自己思考了下,写下了这篇文章,希望能有些共鸣. 先看看大家的态度: 色老力衰,不好忽悠,不能带头加 ...

最新文章

  1. 谁说用 Git 一定要用命令行?试试 SourceTree 吧
  2. jQuery:has()和jQuery:contains()及jQuery:empty
  3. asp.net 一次性提交大量数据,服务器会报错,要在 web.config 中设置一下
  4. Chrome 的又一个bug?
  5. 如何构建一个分布式爬虫:基础篇
  6. django 框架中应用 redis 集群(亲测)
  7. some screenshot of Fiori cloud launchpad
  8. 计算机数媒专业优势,27所院校新开设数字媒体艺术专业,“数媒”专业为什么这么火?...
  9. 如何把一个软件嵌入另一个软件_新增一个软件一个游戏
  10. 【文摘】 雪念——作者:蓝色妖姬
  11. Code::Blocks 16.01 改变注释的的颜色
  12. 机器学习基础-朴素贝叶斯分类
  13. 图像分割(二):高斯混合模型(GMM)方法
  14. fromPromise
  15. sharelatex 编辑论文
  16. FPGA学习经验分享——入门篇
  17. vulhub-靶场实战-安装
  18. 人脸识别php程序,教你用PHP实现微信小程序人脸识别刷脸登录功能
  19. LeetCode,无它,唯手熟尔(四)
  20. Picture 线段树扫描线求轮廓线

热门文章

  1. fatfs文件系统与u盘驱动联立起来(usb_host)
  2. 关于Markdown文件的书写语法格式
  3. 中国喷浆机行业市场供需与战略研究报告
  4. 小瓦怕扫地机器人_小瓦扫地机器人和米家扫地机器人哪个好?附对比评测
  5. elm_flask 项目日志 -- flask后台管理系统开发设计
  6. python延时函数的使用
  7. 数学不好能学编程吗?想转行到IT行业需要具备哪些能力?零基础可以学吗?
  8. openJDK 17.0.1 的下载与安装
  9. PHP-CRUD-API:将 REST API 添加到 MySQL/MariaDB、PostgreSQL、SQL Server 或 SQLite 数据库的单个文件 PHP 脚本
  10. 字节地址和位地址有什么区别