- 浏览: 1332572 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (471)
- 原创文章 (4)
- Database (84)
- J2SE (63)
- Web (26)
- Javascript (30)
- Lucene (11)
- os (13)
- 算法 (8)
- Webservice (1)
- Open projects (18)
- Hibernate (18)
- Spring (15)
- Css (2)
- J2ee (2)
- 综合技术 (18)
- 安全管理 (13)
- PatternsInJava (27)
- NIO (5)
- Ibatis (2)
- 书籍收藏 (1)
- quartz (7)
- 并发编程 (15)
- oracle问题 (2)
- ios (60)
- coco2d-iphone (3)
- C++ (6)
- Zookeeper (2)
- golang (4)
- animation (2)
- android (1)
最新评论
-
dandingge123:
【引用】限制UITextField输入长度的方法 -
qja:
...
对List顺序,逆序,随机排列实例代码 -
安静听歌:
现在在搞这个,,,,,哎~头都大了,,,又freemarker ...
通用大型网站页面静态化解决方案(一) -
springdata-jpa:
java quartz定时任务demo教程源代码下载,地址:h ...
Quartz 配置参考 -
马清天:
[b][/b][list][*]引用[u][/u][/list ...
通用大型网站页面静态化解决方案(一)
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据 库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目); 当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。
Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数 据库负载大幅度降低,更好的分配资源,更快速访问。
1
package
com.ctoall.core;
2
3 import java.io.Serializable;
4
5 public class StudentDO implements Serializable {
6
7 /**
8 *
9 */
10 private static final long serialVersionUID = 3312721104787630488L ;
11 private int Id;
12 private String Name;
13 private int age;
14 private String address;
15 public int getId() {
16 return Id;
17 }
18 public void setId( int id) {
19 Id = id;
20 }
21 public String getName() {
22 return Name;
23 }
24 public void setName(String name) {
25 Name = name;
26 }
27 public int getAge() {
28 return age;
29 }
30 public void setAge( int age) {
31 this .age = age;
32 }
33 public String getAddress() {
34 return address;
35 }
36 public void setAddress(String address) {
37 this .address = address;
38 }
39
40 }
2
3 import java.io.Serializable;
4
5 public class StudentDO implements Serializable {
6
7 /**
8 *
9 */
10 private static final long serialVersionUID = 3312721104787630488L ;
11 private int Id;
12 private String Name;
13 private int age;
14 private String address;
15 public int getId() {
16 return Id;
17 }
18 public void setId( int id) {
19 Id = id;
20 }
21 public String getName() {
22 return Name;
23 }
24 public void setName(String name) {
25 Name = name;
26 }
27 public int getAge() {
28 return age;
29 }
30 public void setAge( int age) {
31 this .age = age;
32 }
33 public String getAddress() {
34 return address;
35 }
36 public void setAddress(String address) {
37 this .address = address;
38 }
39
40 }
1 package com.ctoall.core;
2
3 import java.util.Date;
4
5 import com.danga.MemCached.MemCachedClient;
6 import com.danga.MemCached.SockIOPool;
7
8
9 public class MemCached {
10 // 创建全局的唯一实例
11 protected static MemCachedClient mcc = new MemCachedClient();
12
13 protected static MemCached memCached = new MemCached();
14 // 设置与缓存服务器的连接池
15 static {
16 // 服务器列表和其权重
17 String[] servers = { " 192.168.186.128:11211 " };
18 Integer[] weights = { 3 };
19
20 // 获取socke连接池的实例对象
21 SockIOPool pool = SockIOPool.getInstance();
22
23 // 设置服务器信息
24 pool.setServers( servers );
25 pool.setWeights( weights );
26
27 // 设置初始连接数、最小和最大连接数以及最大处理时间
28 pool.setInitConn( 5 );
29 pool.setMinConn( 5 );
30 pool.setMaxConn( 250 );
31 pool.setMaxIdle( 1000 * 60 * 60 * 6 );
32
33 // 设置主线程的睡眠时间
34 pool.setMaintSleep( 30 );
35
36 // 设置TCP的参数,连接超时等
37 pool.setNagle( false );
38 pool.setSocketTO( 3000 );
39 pool.setSocketConnectTO( 0 );
40
41 // 初始化连接池
42 pool.initialize();
43
44 // 压缩设置,超过指定大小(单位为K)的数据都会被压缩
45 mcc.setCompressEnable( true );
46 mcc.setCompressThreshold( 64 * 1024 );
47 }
48 /**
49 * 保护型构造方法,不允许实例化!
50 *
51 */
52 protected MemCached()
53 {
54
55 }
56
57 /**
58 * 获取唯一实例.
59 * @return
60 */
61 public static MemCached getInstance()
62 {
63 return memCached;
64 }
65
66 /**
67 * 添加一个指定的值到缓存中.
68 * @param key
69 * @param value
70 * @return
71 */
72 public boolean add(String key, Object value)
73 {
74 return mcc.add(key, value);
75 }
76
77 public boolean add(String key, Object value, Date expiry)
78 {
79 return mcc.add(key, value, expiry);
80 }
81
82 public boolean replace(String key, Object value)
83 {
84 return mcc.replace(key, value);
85 }
86
87 public boolean replace(String key, Object value, Date expiry)
88 {
89 return mcc.replace(key, value, expiry);
90 }
91
92 /**
93 * 根据指定的关键字获取对象.
94 * @param key
95 * @return
96 */
97 public Object get(String key)
98 {
99 return mcc.get(key);
100 }
101
102 public static void main(String[] args)
103 {
104 MemCached cache = MemCached.getInstance();
105 StudentDO stuDO = new StudentDO();
106 stuDO.setId( 10 );
107 stuDO.setAge( 28 );
108 stuDO.setName( " sunney " );
109 stuDO.setAddress( " 广东省深圳市福田区梅华路105号多丽科技楼9楼 " );
110 cache.add( " stu " , stuDO);
111 StudentDO stuDO1 = (StudentDO)cache.get( " stu " );
112 System.out.println( " id: " + stuDO1.getId());
113 System.out.println( " name: " + stuDO1.getName());
114 System.out.println( " age: " + stuDO1.getAge());
115 System.out.println( " adress: " + stuDO1.getAddress());
116 System.out.println( " +++++++++++++++++++++++ok++++++++++++++++++++++++ " );
117
118 }
119 }
3 import java.util.Date;
4
5 import com.danga.MemCached.MemCachedClient;
6 import com.danga.MemCached.SockIOPool;
7
8
9 public class MemCached {
10 // 创建全局的唯一实例
11 protected static MemCachedClient mcc = new MemCachedClient();
12
13 protected static MemCached memCached = new MemCached();
14 // 设置与缓存服务器的连接池
15 static {
16 // 服务器列表和其权重
17 String[] servers = { " 192.168.186.128:11211 " };
18 Integer[] weights = { 3 };
19
20 // 获取socke连接池的实例对象
21 SockIOPool pool = SockIOPool.getInstance();
22
23 // 设置服务器信息
24 pool.setServers( servers );
25 pool.setWeights( weights );
26
27 // 设置初始连接数、最小和最大连接数以及最大处理时间
28 pool.setInitConn( 5 );
29 pool.setMinConn( 5 );
30 pool.setMaxConn( 250 );
31 pool.setMaxIdle( 1000 * 60 * 60 * 6 );
32
33 // 设置主线程的睡眠时间
34 pool.setMaintSleep( 30 );
35
36 // 设置TCP的参数,连接超时等
37 pool.setNagle( false );
38 pool.setSocketTO( 3000 );
39 pool.setSocketConnectTO( 0 );
40
41 // 初始化连接池
42 pool.initialize();
43
44 // 压缩设置,超过指定大小(单位为K)的数据都会被压缩
45 mcc.setCompressEnable( true );
46 mcc.setCompressThreshold( 64 * 1024 );
47 }
48 /**
49 * 保护型构造方法,不允许实例化!
50 *
51 */
52 protected MemCached()
53 {
54
55 }
56
57 /**
58 * 获取唯一实例.
59 * @return
60 */
61 public static MemCached getInstance()
62 {
63 return memCached;
64 }
65
66 /**
67 * 添加一个指定的值到缓存中.
68 * @param key
69 * @param value
70 * @return
71 */
72 public boolean add(String key, Object value)
73 {
74 return mcc.add(key, value);
75 }
76
77 public boolean add(String key, Object value, Date expiry)
78 {
79 return mcc.add(key, value, expiry);
80 }
81
82 public boolean replace(String key, Object value)
83 {
84 return mcc.replace(key, value);
85 }
86
87 public boolean replace(String key, Object value, Date expiry)
88 {
89 return mcc.replace(key, value, expiry);
90 }
91
92 /**
93 * 根据指定的关键字获取对象.
94 * @param key
95 * @return
96 */
97 public Object get(String key)
98 {
99 return mcc.get(key);
100 }
101
102 public static void main(String[] args)
103 {
104 MemCached cache = MemCached.getInstance();
105 StudentDO stuDO = new StudentDO();
106 stuDO.setId( 10 );
107 stuDO.setAge( 28 );
108 stuDO.setName( " sunney " );
109 stuDO.setAddress( " 广东省深圳市福田区梅华路105号多丽科技楼9楼 " );
110 cache.add( " stu " , stuDO);
111 StudentDO stuDO1 = (StudentDO)cache.get( " stu " );
112 System.out.println( " id: " + stuDO1.getId());
113 System.out.println( " name: " + stuDO1.getName());
114 System.out.println( " age: " + stuDO1.getAge());
115 System.out.println( " adress: " + stuDO1.getAddress());
116 System.out.println( " +++++++++++++++++++++++ok++++++++++++++++++++++++ " );
117
118 }
119 }
发表评论
-
乱七八糟
2011-06-03 17:59 1246你这样做看看:第一步:在v$sqlarea 这视图 ... -
国内外DNS服务器地址列表
2011-04-13 14:20 1462DNS(Domain Name System)是域名解析服务 ... -
J2EE集群原理
2010-12-08 17:36 1166http://blog.csdn.net/wangchengs ... -
HTTP协议状态码的含义
2010-12-05 20:52 1332HTTP协议状态码的含义 ... -
maven环境变量设置
2010-11-15 12:34 10809maven环境变量设置 wondows 一、下载 ... -
HTTP 的特性
2010-11-10 11:26 106711.3.1. 用户代理 (User-Age ... -
大型高性能网站的十项规则
2010-11-10 11:25 1078大型高性能网站的十项规则 -
正则表达式入门
2010-10-26 21:40 1182核心提示:正则表达 ... -
Java中使用正则表达式
2010-10-14 16:03 1759最近要在项目中做HTML解 ... -
正则表达式
2010-10-13 13:15 963正则表达式用于字符串 ... -
intellij idea教程
2010-09-05 23:16 24180intellij idea教程 首先我要说一点,在Intel ... -
JSON 构造器类,可以将Java对象映射为JSON对象
2010-07-17 12:31 2740写道 /** * JSON 构造器类,可以将Java对象映射 ... -
json 转化
2010-07-17 12:27 1415package com.ijo.demo; public c ... -
电话秘密
2010-05-01 14:40 2187极少人知道的手机的几大隐密功能 1、当不喜欢别人打搅自己的时 ... -
json 无规律数据转换
2010-04-26 23:39 1404写道 public static void main(Str ... -
大道至简 Java 23种模式一点就通
2010-03-24 16:15 1099一、创建型模式 ... -
back
2010-03-16 14:18 1265http://jquery-api-zh-cn.googlec ...
相关推荐
学习并实践这些测试例子,可以帮助C#开发者熟练掌握使用Memcached进行缓存管理的技巧,提高应用的响应速度和整体性能。同时,对于分布式系统的设计和优化也有一定的指导意义。因此,这个压缩包对于正在或者计划使用...
9. **集成示例**:Demo项目通常包含一个完整的例子,演示如何在实际项目中引入和使用这个Java版的Memcached,这对于初学者来说是非常宝贵的参考资料。 通过这些知识点的学习和实践,开发者可以更好地在Java项目中...
Spring Memcached 是一个用于在Spring应用中集成Memcached缓存服务的框架。Memcached是一种分布式内存对象缓存系统,常用于提高网站数据读取的速度,因为它可以将数据存储在内存中,避免了频繁的数据库查询。现在...
Spring是一个广泛应用的Java企业级开发框架,它可以与多种缓存解决方案集成,包括Memcached,以提升应用的性能。 **标签解析** 标签"memcache"表明主题主要围绕Memcached,这是一个广泛使用的分布式内存对象缓存...
"demo_memcache_ieda"项目是一个很好的学习资源,通过对比spymemcached和XMemcached这两个客户端,开发者可以了解如何在Java项目中集成并使用Memcached,从而优化应用性能,实现高效的数据缓存。
**Memcached 应用实例详解** Memcached 是一个高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问的速度。它通过将数据存储在内存中,使得数据访问几乎达到内存的速度,...
以下将详细阐述涉及的关键技术及其作用。 首先,Redis作为一个高性能的键值存储系统,在高并发场景下常被用作缓存来减少数据库的压力。在秒杀活动中,商品信息通常会被预加载到Redis中,当用户发起请求时,先从...
**Windows环境下安装Memcached及其使用演示** Memcached是一款高性能、分布式的内存对象缓存系统,常用于加速动态Web应用,通过在内存中存储数据来减少数据库的访问压力。本教程将详细讲解如何在Windows操作系统上...
下面将详细探讨 Yii 框架的关键知识点及其在 "yii-demo" 中的应用。 1. **MVC(Model-View-Controller)架构**:Yii 遵循 MVC 设计模式,使得代码结构清晰,易于维护。在 "yii-demo" 中,你可以看到模型类(Model)...
**Redis简介** Redis是一款高性能的键值存储系统,由...通过`pom.xml`文件,我们可以看到该项目依赖于Spring Data Redis库,而`src`目录则包含了项目源代码,可能包含了如何在实际应用中使用`RedisTemplate`的例子。
综合以上信息,我们可以推测这个“完美登录例子”是一个综合性的项目,涉及到使用Redis和Memcached作为缓存、SQL查询验证用户信息、Windows Forms构建登录界面,以及使用单元测试确保登录逻辑的正确性。此外,还可能...
源码可能包含使用分布式缓存(如Redis或Memcached)或分布式锁的示例。 10. **微服务架构**:随着微服务理念的流行,源码可能涉及如何将大型应用拆分为独立、可部署的服务,每个服务都有自己的数据库和边界。 学习...
【标题】"jvm_session_demo:jvm 会话演示"主要关注的是Java虚拟机(JVM)在处理会话管理中的应用。会话是Web应用程序中一个关键的概念,它允许服务器跟踪用户的状态和行为,特别是在状态无状态的HTTP协议中。JVM在此...
- **10.4 关于REDIS、MEMCACHED:** 介绍这两种缓存技术的特点及应用场景。 - **10.5 关于防火墙(IPTABLES):** 说明如何配置防火墙以保护服务器安全。 - **10.6 更多:** 提供额外的技术支持和常见问题解答。 通过...
memcached-repcache设置为开机自启动。 ##### 计算节点(4台) - **IP地址**:cinder1 (192.168.166.61/62, vip: 192.168.166.69) - **应用**:Cinder - **资源**:32个CPU核心、60GB内存、500GB硬盘空间 - **操作...
在上述原生模板引擎中,如果要添加缓存,你可能需要手动实现这一机制,例如使用文件系统或内存缓存(如APC、Redis或Memcached)。 总的来说,PHP原生模板引擎适合简单的应用场景,或者当性能是关键因素且不需要额外...