- 浏览: 264528 次
- 性别:
- 来自: 南宁
文章分类
- 全部博客 (249)
- Memcached (6)
- 操作系统-Linux (18)
- 操作系统-Windows (2)
- JAVA-多线程 (6)
- Java-Web (46)
- Eclipse (19)
- Struts-Spring-Hibernate (25)
- 消息队列 (10)
- JBPM (3)
- 全文检索-Solr (2)
- WebService (3)
- 数据库-Oracle (9)
- 数据库-MySQL (14)
- 数据库-MS SQL (2)
- ESB(企业服务总线) (1)
- 前端技术 (9)
- 互联网安全技术 (1)
- 日志log4j (3)
- 分布式框架 (11)
- 版本控制-SVN (3)
- 版本控制-Git (5)
- Maven (11)
- 大数据-Hadoop (3)
- PHP (1)
- JAVA注解 (2)
- 系统架构 (1)
- 会话-权限-JWT (10)
- 定时任务 (1)
- 非技术 (1)
- Redis (5)
- Nginx (5)
- 云计算和虚拟化 (1)
- swagger (1)
- 移动端UI和框架 (5)
最新评论
-
lgh1992314:
applicationContext.xml 是 spring ...
Spring的applicationContext和spring-mvc.xml的区别
1 下载memcached-1.2.1-win32.zip 并且解压.
2 新建web project项目 名字自己取,然后导入必要的包,alisoft-xplatform-asf-cache-2.5.1.jar,commons-logging-1.0.3.jar,log4j-1.2.13.jar
3 新建类 user.java
4 新建 JdbcConnector.java
5 新建 UserDao.java
6 新建 MemcachedManager.java
结果从控制台输出:
从缓存中取得的集合为:uname
从缓存中取得的集合为:uname1
从缓存中取得的集合为:uname2
从缓存中取得的集合为:uname3
来自:http://zxe-llh-163-com.iteye.com/blog/1158721
2 新建web project项目 名字自己取,然后导入必要的包,alisoft-xplatform-asf-cache-2.5.1.jar,commons-logging-1.0.3.jar,log4j-1.2.13.jar
3 新建类 user.java
package 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.java
package 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.java
package 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.java
package 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
来自:http://zxe-llh-163-com.iteye.com/blog/1158721
发表评论
-
吾问无为谓
2018-06-01 12:07 427微服务框架的技术选型又增加了一个。 -
linux下memcached的启动/结束的方式
2015-01-26 18:17 468当前项目中,linux下memcached的启动/结束的方式 ... -
Memcached安装及问题解决汇总
2015-01-21 11:15 464一、安装顺序 (1) libtool (2) auto ... -
在Linux上安装Memcached服务
2015-01-20 19:50 461下载并安装Memcache服务器端 服务器端主要是安装memc ... -
Java使用memcached
2014-12-07 16:40 4711.加载commons-pool-1.5.6.jar、java ...
相关推荐
memcached缓存使用演示小项目,缓存服务器的搭建,增删改查缓存
介绍了memcached缓存开源框架在windows下的安装,以及如何用java访问缓存server,并结合原理和代码讲解。代码测过可用。
该压缩包中有一个WORD和一个PPT,WORD中介绍了通过单实例和简单LRU算法实现缓存。PPT中介绍了缓存体系,JVM内存模型,JCONSOLE监控工具的使用,Oscache缓存架构 Ehcache缓存架构 Memcached缓存架构 JiveCache缓存架构...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的...
《决战Nginx系统卷:高性能Web服务器详解与运维》 的最后一部分是关于Nginx使用缓存技术的方法,共列举了Nginx使用的五大缓存,特别是广泛使用的代理缓存、Memcached和Varnish,另外对于Memcached服务器的使用贯穿...