1.需求场景
展示实时数据
2.项目环境
Spring spring mvc mybatis
3.实现步骤
(1)链接redis
public static Jedis getJedisConnection() {
String redishost = "127.0.0.1";
int redisport = 6379;// redis的端口
int redistimeout = 2000;// redis超时时间
int redisdatabase = 0;// redis的db
Jedis jedis = null;
try {
jedis = new Jedis(redishost, redisport, redistimeout);
} catch (Exception e) {
System.out.println("连接redis报错!!");
}
if (redisdatabase != 0) {
try {
jedis.select(redisdatabase);
} catch (Exception e) {
System.out.println("redisdatabase error");
}
}
return jedis;
}
(2)redis写入数据
public void writeRedisData(){
try{
//数据库获取数据
List<RedisEntityVO> data = RedisCaceDataService.getRedisCacheData();
//获得redis链接
Jedis jedis = getJedisConnection();
//写入数据
for(int i=0;i<data.size();i++){
jedis.set(data.get(i).getTime(),data.get(i).getAllpv());
jedis.set(data.get(i).getTime(),data.get(i).getAlluv());
jedis.set(data.get(i).getTime(),data.get(i).getAllip());
}
jedis.close();
}catch(Exception e){
}
}
(3)redis获取数据
/***
*
* @Title: getRealTimeData
* @Description: TODO 每个时间点的数据
* @param data
* @return
*/
public static List<RedisEntityVO> getRealTimeData(String key){
List<RedisEntityVO> list = new ArrayList<RedisEntityVO>();
Jedis jedis = getJedisConnection();
long all_pv = 0;
long ip_num = 0;
long uv = 0;
try{
RedisEntityVO mop = new RedisEntityVO();
pv = Long.parseLong(jedis.get(key+ "_pv"));
uv = Long.parseLong(jedis.get(key+ "_uv");
ip = Long.parseLong(jedis.get(key+ "_ip_num");
e.setAllpv(Integer.parseInt(String.valueOf(all_pv)));
e.setAlluv(Integer.parseInt(String.valueOf(uv)));
e.setAllip(Integer.parseInt(String.valueOf(ip_num)));
System.out.println("pv \t"+pv+"\t ip"+ip+"\t uv"+uv);
list.add(e);
}catch(exception e){
e.printStackTrace();
}
jedis.close();
return list;
}
(3)测试
public static void main(String[] args) {
String time="2018030101";
RedisUtil.getRealTimeData(time);
}