- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在向 Redis 中插入大量文本以逐行存储频率。但是,jedis/redis 会变慢,并且在执行一定数量的操作后需要花费大量时间e 操作并且程序以错误结束:java.lang.OutOfMemoryError 。
这是我用于测试的主要文件: 公共(public)课温度{
private ExecutorService executor;
public temp() {
executor = Executors.newFixedThreadPool(5);
}
public static void main(String[] args) {
temp ob = new temp();
System.out.println("starting");
for(long i =0;i<10000000;i++) {
if (i%10000 == 0) {
System.out.println(i);
}
String x = Integer.toString(new Random().nextInt());
ob.executor.submit(new Runner1("abra"+x));
ob.executor.submit(new Runner2("delhi"+x));
}
try {
if (ob.executor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS)) {
System.out.println("completed");
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
这是我的两个运行者:亚军 1:
public class Runner1 implements Runnable {
//private static RedisClientUtil redisClient = null;
private String key;
private static Integer count = 0;
public Runner1(String key) {
this.key = key;
}
public void run() {
try {
ArrayList<ArrayList<Object>> cmd = new ArrayList<ArrayList<Object>>();
String offer_title = this.key + " this is thread1";
String offer_title_words[] = offer_title.split(" ");
for (String word : offer_title_words) {
// INCR the frequency in reddis
cmd.add(GenerateUtils.getArrayList("incrBy", "test"+word, 1));
}
List<Object> responses = RedisbenchmarkTest.getLocalhostJedisPool().executePipelinedAndReturnResponses(0,cmd);
cmd = null;
responses = null;
updateNumberOfRowsInserted();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private synchronized void updateNumberOfRowsInserted() {
//logging
count++;
if(count%10000==0)
System.out.println("Thread 1 : " + count);
}
}
亚军 2:
public class Runner2 implements Runnable {
//private static RedisClientUtil redisClient = null;
private String key;
private static Integer count = 0;
public Runner2(String key) {
this.key = key;
}
public void run() {
try {
ArrayList<ArrayList<Object>> cmd = new ArrayList<ArrayList<Object>>();
String offer_title = this.key + " this is thread2";
String offer_title_words [] = offer_title.split(" ");
for (String word : offer_title_words) {
// INCR the category_word in reddis
cmd.add(GenerateUtils.getArrayList("incrBy","test1"+word,1));
} RedisbenchmarkTest.getLocalhostJedisPool().executePipelinedWithoutReturningResponses(0,cmd);
updateNumberOfRowsInserted();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private synchronized void updateNumberOfRowsInserted() {
//logging
count++;
if(count%10000==0)
System.out.println("Thread 2 : " + count);
}
}
这是我的 Redis 客户端:
public class RedisbenchmarkTest {
private static RedisClientUtil localhostJedisPool;
private static final JedisPoolConfig standardJedisPoolConfig = new JedisPoolConfig() {{
setMaxTotal(500);
setMaxIdle(20);
setMaxWaitMillis(500);
setTestOnBorrow(false);
setTestOnReturn(false);
}};
private static final int semiLowTimeout = 500;
static {
initialize();
}
public static void initialize() {
localhostJedisPool = new RedisClientUtil(
standardJedisPoolConfig
, "localhost"
, 6379
, semiLowTimeout
);
}
public static RedisClientUtil getLocalhostJedisPool() {
if (localhostJedisPool == null) {
initialize();
}
return localhostJedisPool;
}
}
最佳答案
关于java - Jedis(Redis)减速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40634699/
我正在用 C++ 编写一个粒子模拟器。 我通过在每个时间步将它们的速度添加到它们的位置来移动粒子。 时间步的值是当前帧的百分比。所以全帧时间步长为1,半帧时间步长为0.5,四分之一帧时间步长为0.25
Linux下“减速”查看日志的方法 需求场景 今天查看日志,有个需求,需要按照指定“速率”输出日志信息到终端屏幕上,方便查看。 这个需求日常应该也经常会碰到,比如以下两种情况:
有没有办法取消 UIScrollView 的减速? 我想允许用户滚动 Canvas ,但我不希望用户抬起手指后 Canvas 继续滚动。 最佳答案 这可以通过利用 UIScrollView 委托(de
我在我的 c 应用程序中遇到大量 sqlite 减速问题,并且 不知道这是意料之中还是我没有正确使用 sqlite。 数据库使用滚动日志,如 http://dt.deviantart.com/jour
有没有办法取消 UIScrollView 的减速? 我想允许用户滚动 Canvas ,但我不希望用户抬起手指后 Canvas 继续滚动。 最佳答案 这可以通过利用 UIScrollView 委托(de
我有一个可以用手指拖动的 UIView,这是我使用 UIPanGestureRecognizer 实现的。这允许我水平拖动 View ;向左或向右。 我在从 UIPanGestureRecognize
我正在向 Redis 中插入大量文本以逐行存储频率。但是,jedis/redis 会变慢,并且在执行一定数量的操作后需要花费大量时间e 操作并且程序以错误结束:java.lang.OutOfMemor
我有一个 UIPanGestureRecognize,我用它来更改 View 的框架。当手势状态为 UIGestureRecognizerStateEnded 时,有没有办法模拟 UIScrollVi
我正在尝试在 MKMapView 上捕获平移和“滚动结束”。使用手势识别器可以轻松实现平移。然而,MKMapView 似乎没有在 iOS 6 中实现 UIScrollViewDelegate。这使得解
我正在尝试学习如何实现多处理来计算蒙特卡洛模拟。我从 this simple tutorial 复制了代码目的是计算积分。我还将它与 answer from WolframAlpha 进行了比较并计算
基本上破坏我的 node js express 服务器的代码是这样的: resultArr = []; resultArr["test"] = []; resultArr["test"][201507
我有一个服务,每秒向 S3 发送 10k PUT 请求。 S3 能够在几分钟内处理这些负载,但在那之后开始抛出 SlowDown 异常。它使我的服务速度减慢到无法接受的速度。 我已阅读 this并实现
SO上有足够多的类似问题和答案。然而很少提到前缀。 首先,不再需要前缀的随机化,参见 here This S3 request rate performance increase removes an
我正在创建以下画廊: gallery 我相信 prettyPhoto.css 在悬停时应用了边框颜色,但我似乎无法使用 Dom Inspector 找到它。 谁能帮我找到 css 来编辑鼠标悬停时的边
我有一个基于 paste.httpserver 的网络服务器作为 HTTP 和 WSGI 之间的适配器。当我使用 httperf 进行性能测量时,如果每次使用 --num-conn 启动一个新请求,我
我是一名优秀的程序员,十分优秀!