java redis大数据,redis存储和查询的java实现

本文介绍了如何使用RedisClient进行数据的存取,包括Map数据的hmset和hmget,key-value的hset和hget,以及数据的删除和获取特定字段值。通过RedisClient的setMapDataToRedis和getData方法展示了哈希表的操作,以及如何利用Redis进行数据持久化和读取。
摘要由CSDN通过智能技术生成

import java.util.List;

import java.util.Map;

import java.util.concurrent.ConcurrentHashMap;

import redis.clients.jedis.Jedis;

/**

*  redis 操作api

*

*

*

* @author  khj

* @see  [相关类/方法]

* @since  [产品/模块版本]

*/

public class RedisClient

{

/**

*  保存数据   类型为 Map

*

*

* @param flag

* @param mapData

* @see [类、类#方法、类#成员]

*/

public static void setMapDataToRedis(String flag,Map mapData)

{

Jedis redisClient = null;

try

{

redisClient = RedisClientPool.jedisPool.getResource();

redisClient.hmset(flag,mapData);

}

catch (Exception e)

{

// 销毁对象

RedisClientPool.jedisPool.returnBrokenResource(redisClient);

}

finally

{

// 还原到连接池

RedisClientPool.jedisPool.returnResource(redisClient);

}

}

/**

*  保存数据   类型为 key-value

*

*

* @param flag

* @param field

* @param value

* @see [类、类#方法、类#成员]

*/

public static void setDataToRedis(String flag,String field,String value)

{

Jedis redisClient = null;

try

{

redisClient = RedisClientPool.jedisPool.getResource();

redisClient.hset(flag, field, value);

}

catch (Exception e)

{

// 销毁对象

RedisClientPool.jedisPool.returnBrokenResource(redisClient);

}

finally

{

// 还原到连接池

RedisClientPool.jedisPool.returnResource(redisClient);

}

}

/**

*  获取Map数据

*

*

* @param flag

* @return

* @see [类、类#方法、类#成员]

*/

public static Map getMapData(String flag)

{

Map dataMap = null;

Jedis redisClient = null;

try

{

redisClient = RedisClientPool.jedisPool.getResource();

dataMap = redisClient.hgetAll(flag);

}

catch (Exception e)

{

// 销毁对象

RedisClientPool.jedisPool.returnBrokenResource(redisClient);

}

finally

{

// 还原到连接池

RedisClientPool.jedisPool.returnResource(redisClient);

}

return dataMap;

}

public static long deleteData(String flag)

{

long result = 0;

Jedis redisClient = null;

try

{

redisClient = RedisClientPool.jedisPool.getResource();

result = redisClient.del(flag);

}

catch (Exception e)

{

// 销毁对象

RedisClientPool.jedisPool.returnBrokenResource(redisClient);

}

finally

{

// 还原到连接池

RedisClientPool.jedisPool.returnResource(redisClient);

}

return result;

}

/**

* 根据key和字段获取数据

*

*

* @param flag

* @param field

* @return

* @see [类、类#方法、类#成员]

*/

public static String getData(String flag,String field)

{

String data = null;

Jedis redisClient = null;

try

{

redisClient = RedisClientPool.jedisPool.getResource();

data = redisClient.hget(flag, field);

}

catch (Exception e)

{

// 销毁对象

RedisClientPool.jedisPool.returnBrokenResource(redisClient);

}

finally

{

// 还原到连接池

RedisClientPool.jedisPool.returnResource(redisClient);

}

return data;

}

public static void main(String[] args)  throws Exception

{

RedisClient.testMap();

}

public void testList()

{

Jedis redis = RedisClientPool.jedisPool.getResource();

//hset key field value将哈希表key中的域field的值设为value。

redis.hset("table", "field1", "value1");

redis.hset("table", "field2", "value2");

redis.hset("table", "field3", "value3");

//返回哈希表key中,一个或多个给定域的值。

List list = redis.hmget("table","field1","field2","field3");

for(String tmp : list)

{

System.out.println(tmp);

}

}

public static void testMap()

{

//同时将多个field - value(域-值)对设置到哈希表key中。

Map map = new ConcurrentHashMap();

for (int i = 0;i < 10000;i++)

{

map.put("field"+i, "value"+i);

}

if (null != getData("table", "field1"))

{

deleteData("table");

}

//得到map下面的username的值

Map maps = getMapData("table");

System.out.println(maps.size());

setMapDataToRedis("table",map);

//HGETALL key返回哈希表key中,所有的域和值。

maps = getMapData("table");

System.out.println(maps.size());

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值