您的位置:首页 > 数据库 > Redis

STORM入门之(集成Redis)

2017-08-23 15:05 369 查看
首先需要Redis工具类,自己写了一个简易的源码地址:http://blog.csdn.net/yl3395017/article/details/76172598

测试数据 KEY:test  VALUE:world

POM

<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-redis</artifactId>
<version>1.0.0</version>
<type>jar</type>
</dependency>

RedisBolt

package com.storm.redis;

import org.apache.storm.redis.bolt.AbstractRedisBolt;
import org.apache.storm.redis.common.config.JedisPoolConfig;
import org.apache.storm.topology.OutputFieldsDeclarer;
import org.apache.storm.tuple.Tuple;
import org.apache.storm.tuple.Values;
import redis.clients.jedis.JedisCommands;

/**
* Created with IntelliJ IDEA.
* User: Administrator
* Date: 17-8-23
* Time: 下午2:00
* To change this template use File | Settings | File Templates.
*/
public class RedisBolt extends AbstractRedisBolt {
public RedisBolt(JedisPoolConfig config) {
super(config);
}

@Override
public void execute(Tuple input) {
JedisCommands jedisCommands = null;
try {
jedisCommands = getInstance();
String wordName = input.getStringByField("index");
String countStr = jedisCommands.get(wordName);
if (countStr != null) {
System.out.print("#######countStr#########:"+countStr);
} else {

}
} finally {
if (jedisCommands != null) {
returnInstance(jedisCommands);
}
}
}

@Override
public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) {
//To change body of implemented methods use File | Settings | File Templates.
}
}


Topology构建方式

/**
* 构建RedisBolt
*/
private static void builtRedisBolt(TopologyBuilder builder){
JedisPoolConfig poolConfig = new JedisPoolConfig.Builder().setHost("10.2.4.12").setPort(6379).build();
RedisBolt rb = new  RedisBolt(poolConfig);
builder.setBolt("redis-bolt",rb,1).shuffleGrouping("BoltA");
}

结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: