- 浏览: 1011209 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (826)
- 硬件 (8)
- 软件 (24)
- 软件工程 (34)
- JAVA (229)
- C/C++/C# (77)
- JavaScript (8)
- PHP (1)
- Ruby (3)
- MySQL (14)
- 数据库 (19)
- 心情记事 (12)
- 团队管理 (19)
- Hadoop (1)
- spring (22)
- mybatis(ibatis) (7)
- tomcat (16)
- velocity (0)
- 系统架构 (6)
- JMX (8)
- proxool (1)
- 开发工具 (16)
- python (10)
- JVM (27)
- servlet (5)
- JMS (26)
- ant (2)
- 设计模式 (5)
- 智力题 (2)
- 面试题收集 (1)
- 孙子兵法 (16)
- 测试 (1)
- 数据结构 (7)
- 算法 (22)
- Android (11)
- 汽车驾驶 (1)
- lucene (1)
- memcache (12)
- 技术架构 (7)
- OTP-Erlang (7)
- memcached (17)
- redis (20)
- 浏览器插件 (3)
- sqlite (3)
- Heritrix (9)
- Java线程 (1)
- scala (0)
- Mina (6)
- 汇编 (2)
- Netty (15)
- libevent (0)
- CentOS (12)
- mongod (5)
- mac os (0)
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
备忘:(本机i5的测试数据:redis线程执行时间是:21187 ms)
01
|
public
class
Demo2 {
|
02
|
|
03
|
private
static
JedisPool pool;
|
04
|
|
05
|
static
{
|
06
|
JedisPoolConfig config =
new
JedisPoolConfig();
|
07
|
config.setMaxActive(
100
);
|
08
|
config.setMaxIdle(
20
);
|
09
|
config.setMaxWait(
1000
);
|
10
|
config.setTestOnBorrow(
true
);
|
11
|
|
12
|
pool =
new
JedisPool(config,
"localhost"
);
|
13
|
}
|
14
|
15
|
public
static
void
main(String[] args) {
|
16
|
Demo2 demo =
new
Demo2();
|
17
|
demo.test();
|
18
|
}
|
19
|
20
|
public
void
test() {
|
21
|
initInsert();
|
22
|
testThread();
|
23
|
}
|
24
|
|
25
|
private
void
initInsert() {
|
26
|
Jedis jedis = pool.getResource();
|
27
|
for
(
int
i=
0
; i<
20000
; i++)
|
28
|
jedis.set(String.valueOf(i), String.valueOf(i));
|
29
|
pool.returnResource(jedis);
|
30
|
}
|
31
|
|
32
|
private
void
testThread() {
|
33
|
long
begin = System.currentTimeMillis();
|
34
|
|
35
|
Thread thread[] =
new
Thread[
60
];
|
36
|
for
(
int
i=
0
; i<thread.length; i++) {
|
37
|
thread[i] =
new
MyThread();
|
38
|
thread[i].start();
|
39
|
}
|
40
|
|
41
|
for
(
int
i=
0
; i<thread.length; i++) {
|
42
|
try
{
|
43
|
thread[i].join();
|
44
|
}
catch
(InterruptedException e) {
|
45
|
e.printStackTrace();
|
46
|
}
|
47
|
}
|
48
|
|
49
|
long
end = System.currentTimeMillis();
|
50
|
System.out.println(
"线程执行时间是:"
+ (end - begin) +
" ms"
);
|
51
|
}
|
52
|
|
53
|
class
MyThread
extends
Thread {
|
54
|
@Override
|
55
|
public
void
run() {
|
56
|
Jedis jedis = Demo2.pool.getResource();
|
57
|
for
(
int
i=
0
; i<
20000
; i++)
|
58
|
jedis.get(String.valueOf(i));
|
59
|
Demo2.pool.returnResource(jedis);
|
60
|
}
|
61
|
}
|
62
|
}
|
评论
2 楼
zhaohaolin
2011-09-19
反正是开源,何不自定制呢
1 楼
huhang1986
2011-09-14
returnBrokenResource捕获异常后,用这个方法回收。
jedis的线程池真是做的不美,要自己包装不少东西。
更可恶的是Jedis,ShardedJedis,BinaryJedis,BinaryShardedJedis。
2套继承体系,想做Sharded又得改不少代码。
jedis的线程池真是做的不美,要自己包装不少东西。
更可恶的是Jedis,ShardedJedis,BinaryJedis,BinaryShardedJedis。
2套继承体系,想做Sharded又得改不少代码。
发表评论
-
Redis入门教程
2011-07-12 22:08 2158入门教程,仅供菜鸟。 ... -
Redis数据库介绍
2011-07-12 22:07 28171. Redis是什么 这个问题的结果影响了我们怎么用R ... -
redis-sharding – 一个 Redis Proxy【转】
2011-04-28 01:43 1647redis-sharding 是一个由perl写的 Redis ... -
redis 运维实际经验纪录之一【转】
2011-04-26 11:30 1181发表于 2010/05/25 由 ... -
1,250,000,000 Key/Value Pairs in Redis 2.0.0-rc3 on a 32GB Machine【转】
2011-04-26 11:28 909Posted on July 25, 20 ... -
200,000,000 Keys in Redis 2.0.0-rc3【转】
2011-04-26 11:27 978Posted on July 24, 20 ... -
Redis配置文件各项参数说明【转】
2011-04-26 11:00 1623最近一个项目用到Redis ... -
Redis配置主从服务器【转】
2011-04-26 10:31 1271redis配置主从服务器 R ... -
More Redis internals: Tracing a GET & SET【转】
2011-04-26 10:09 1863In my previous article , I too ... -
深入Redis内部-Redis 源码讲解【转】
2011-04-26 10:08 604Redis 作为 NoSQL 数据库的杰出代表,一直广受关注, ... -
redis安装配置及使用【转】
2011-04-26 09:03 15672011-03-27 20:41 http://cod ... -
Redis安装配置【转】
2011-04-26 09:02 2043http://bbs.linuxtone.org/thread ... -
闲聊Redis【转】
2011-04-26 09:00 1157Redis 是一个有趣 的项目,与其把它说成键值存储、键 ... -
redis知识点整理【转】
2011-04-25 22:40 1062xmind做的笔记,可惜只能截图 关键字: ... -
在多台服务器上简单实现Redis的数据主从复制【转】
2011-04-25 22:27 1215Redis的主从复制功能非常强大,一个mas ter可以拥有 ... -
归档Redis在Windows,linux平台下的安装配置【转】
2011-04-25 22:25 2212为了方便查阅资料,特将网上搜索到的Redis相关安装配置进行归 ... -
Redis在Windows下的使用[转]
2011-04-25 22:24 1155Windows版的Redis可到此处下载,非官方版http:/ ... -
windows下redis和memcached的性能对比测试【转】
2011-04-25 22:19 1696在windows下测试了redis和memcached的性能, ... -
膜拜Redis【转】
2011-04-25 21:14 984膜拜Redis 2009年06月18 ...
相关推荐
7. **异步操作**:虽然Jedis主要是同步操作的客户端,但可以通过配合线程池或者Java 8的CompletableFuture实现异步操作,提升并发能力。 8. **配置优化**:Jedis提供了丰富的配置选项,包括超时时间、重试策略、...
在Jedis中,我们可以通过`poolConfig`设置线程池的最大连接数、最大空闲连接、超时时间等参数。而在Lettuce中,我们可以使用`PoolingClientConfiguration`来配置线程池。 2. **Redis Cluster线程池**: 当我们需要...
5. **Jedis的并发策略**:在测试读性能时,通常会创建多个线程或使用线程池并发地执行get命令。Jedis提供了连接池管理,可以有效地复用连接,减少创建和销毁连接的开销,提升整体性能。 6. **测试指标分析**:测试...
Java利用Redis实现消息队列的示例代码 以下是Java利用Redis实现消息队列的示例代码的知识点总结: 一、序列化 * 序列化是将对象转换为byte数组的过程,Java中可以使用ByteArrayOutputStream和...
为了方便操作,我们可以封装一个`JedisCacheServiceSupport`抽象类,处理过期时间和Jedis的线程池操作。例如: ```java public abstract class JedisCacheServiceSupport { public static final long EXPIRE_...
此外,`ThreadPoolTaskScheduler`和`ThreadPoolTaskExecutor`提供了灵活的线程池配置,用于定时任务和后台任务的调度。 8. **消息支持**: Spring 3.1.0加强了对消息传递系统的支持,包括JMS、AMQP等,提供了`...
Date和Calendar类则可以帮助我们处理日期和时间,而Generics(泛型)则增强了代码的类型安全性和重用性。 对于网络编程,`java.net`包提供了Socket和ServerSocket类,它们是进行TCP/IP通信的基础。通过创建Socket...
这可能涉及到锁机制、线程池管理等技术。 6. **错误处理与重试机制**: 在网络不稳定或Redis服务故障时,同步过程可能会失败。因此,合理的错误处理策略和重试机制是必要的,以保证数据的最终一致性。 7. **性能...
Cat可以监控线程的创建、销毁和执行情况,帮助分析线程池的使用状况和潜在的线程安全问题。 3.11 URL Cat能够跟踪URL的访问情况,包括访问频率、响应时间等,有助于优化网站的访问体验。 总结,Cat客户端埋点插件...
│ 淘淘商城源代码.zip │ ├─01.第一天 │ 01.课程计划.avi │ 02.淘淘商城介绍.avi │ 03.创建后台工程-taotao-parent.avi │ 04.创建taotao-manager.avi │ 05.svn的使用.avi │ 06.ssm框架整合思路.avi │ 07....
线程池(ThreadPoolExecutor)管理线程,包括核心线程数、最大线程数等,以高效利用系统资源。 【设计模式】 面试常考的设计模式包括单例模式、工厂模式、装饰器模式、代理模式等,它们是解决常见问题的标准化解决...
Java的NIO(非阻塞I/O)和AIO(异步I/O)可以帮助处理大量并发连接,而线程池则能有效管理线程资源,避免过多线程导致的系统资源浪费。 【负载均衡】负载均衡是将工作负载分散到多个计算资源,以优化资源使用、最大...
这部分内容将涵盖线程的创建、同步、线程池和死锁问题的解决。 4. **GUI(图形用户界面)**: Java提供了丰富的库来创建桌面应用的用户界面,如Swing和JavaFX。学习这部分可以了解如何设计和实现交互式应用程序。 5...
对于Java对象的存储,Redis可以通过`Jedis`客户端库的序列化机制实现。 #### 如何写SQL以有效利用复合索引 复合索引是指在一个索引中包含多个字段的索引。为了高效利用复合索引,应遵循以下原则: - 在WHERE子句中...
与Jedis这个官方推荐的Java客户端相比,"redis-connector"可能更为精简,更适合学习和研究Redis协议的底层工作原理。 在Redis通信协议中,主要涉及到以下关键概念: 1. **RESP(REdis Serialization Protocol)**...
Java提供了丰富的并发工具类和API,如`java.util.concurrent`包下的线程池、并发容器(如ConcurrentHashMap)以及同步机制(如synchronized关键字和Lock接口)。理解并发编程的基本原理,熟练掌握线程安全的数据结构...
- 使用客户端分片,如Jedis Cluster。 - 服务器端实现,如使用Hash slots进行数据分片。 - **MongoDB的特点**: - 面向文档的数据模型。 - 支持灵活的模式。 - 内置的复制和分片功能。 #### 分布式 - **...
Java中的`Concurrent`包提供了一系列并发控制工具,如`Semaphore`用于限制并发线程数量,`CountDownLatch`用于同步多个线程,以及`ExecutorService`来管理线程池。 2. **分布式系统**:大型秒杀系统往往采用分布式...