Memcached入门(一)
2015-10-31 23:03
656 查看
一、安装memcached服务端(过程略)。
二、简单代码测试。
模拟从数据库查询用户信息:
memcachedUtil:
二、简单代码测试。
模拟从数据库查询用户信息:
public User queryUserInfo(){ 02. MemberCache cache = new MemberCache(); 03. if(cache.get("user")!=null){ 04. System.out.println("------------存在缓存中-------------"); 05. return (User) cache.get("user"); 06. }else{ 07. System.out.println("---------------缓存中不存在----------------"); 08. User user = new User(); 09. user.setUsername("柳松"); 10. user.setPassword("123456"); 11. boolean b = cache.set("user", user,new Date(10000)); 12. System.out.println(b); 13. return form; 14. } 15. }
memcachedUtil:
public class MemberCache { 02. 03. // 创建全局的唯一实例 04. protected static MemCachedClient mcc = new MemCachedClient(); 05. 06. static{ 07. // 服务器列表和其权重 08. String[] servers = { "127.0.0.1:11211" }; 09. Integer[] weights = { 3 }; 10. // 获取socke连接池的实例对象 11. SockIOPool pool = SockIOPool.getInstance(); 12. 13. // 设置服务器信息 14. pool.setServers(servers); 15. pool.setWeights(weights); 16. 17. // 设置初始连接数、最小和最大连接数以及最大处理时间 18. pool.setInitConn(5); 19. pool.setMinConn(5); 20. pool.setMaxConn(250); 21. pool.setMaxIdle(1000 * 60 * 60 * 6); 22. 23. // 设置主线程的睡眠时间 24. pool.setMaintSleep(30); 25. 26. // 设置TCP的参数,连接超时等 27. pool.setNagle(false); 28. pool.setSocketTO(3000); 29. pool.setSocketConnectTO(0); 30. 31. // 初始化连接池 32. pool.initialize(); 33. 34. // 压缩设置,超过指定大小(单位为K)的数据都会被压缩 35. mcc.setCompressEnable(true); 36. mcc.setCompressThreshold(64 * 1024); 37. } 38. 39. 40. /** 41. * 添加一个指定的值到缓存中. 42. * 43. * @param key 44. * @param value 45. * @return 46. */ 47. public boolean put(String key, Object value) { 48. return mcc.add(key, value); 49. } 50. /** 51. * 指定缓存时间 52. * @param key 53. * @param value 54. * @param expiry 55. * @return 56. */ 57. public boolean put(String key, Object value, Date expiry) { 58. return mcc.add(key, value, expiry); 59. } 60. 61. public boolean replace(String key, Object value) { 62. return mcc.replace(key, value); 63. } 64. 65. public boolean replace(String key, Object value, Date expiry) { 66. return mcc.replace(key, value, expiry); 67. } 68. 69. public boolean set(String key,Object value,Date expiry){ 70. return mcc.set(key, value,expiry); 71. } 72. 73. /** 74. * 根据指定的关键字获取对象. 75. * 76. * @param key 77. * @return 78. */ 79. public Object get(String key) { 80. Object rv = mcc.get(key); 81. return rv; 82. } 83.}由于设置了10s的缓存期限,在10s内执行两次查询,输出结果:
相关文章推荐
- tomcat+nginx +memcached集群
- ecshop的session放入memcache
- 使用Memcached作为全网站分布式缓存
- 项目分布式部署那些事(2):基于OCS(Memcached)的Session共享方案
- windows安装memcached
- 使用Memcached实现集群间session共享
- Memcached
- Memcache基础教程 && Ubuntu 安装Memcache服务
- NoSQL世界里的Memcached和redis缓存的区别
- Redis和Memcached的比较
- Xampp v3.2.1 安装 Memcached for windows
- java对Memcached的基本操作
- centos 下安装memcached
- 使用memcached缓存tomcat7会话信息
- Lamp下安装memcached
- Redis缓存、MemCached和.Net内部缓存的切换使用
- Memcached 内存分配机制介绍
- Memcache存储大数据的问题
- Memcached常用的命令
- openstack swift memcached