JAVA使用redis缓存的工具类,实现了javaBean,List集合,Map集合的直接存取
来源:互联网 发布:通联数据app 编辑:程序博客网 时间:2024/05/21 20:17
package com.ilike.redis.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* redis缓存工具类
*
* @author Administrator
*
*/
public class JedisUtil {
// 定义一个连接池对象private static final JedisPool POOL;static { // 1.设置连接池的配置对象 JedisPoolConfig config = new JedisPoolConfig(); // 设置连接池的最大连接数【可选】 config.setMaxTotal(50); // 设置空闲时池中保有的最大连接数【可选】 config.setMaxIdle(10); // 2.设置连接池对象 POOL = new JedisPool(config, "192.168.111.128", 6379);}/** * 从池中获取连接 */public static Jedis getJedis() { return POOL.getResource();}/** * 将redis存放数据的方式做进一步封装,使其更加适合java数据的存放 此方法将javaBean直接存储为一个字符串 * * @param key * 存储的名字 * @param javaBean * 要存储的对象 * @param activeTime * 该对象的有效时间,单位为秒 */public static Boolean setBean(String key, Object javaBean, Integer activeTime) { /** * 1.获取jedis对象 2.将对象转成json数据存入redis缓存 3.释放资源 */ if (javaBean != null && key != null && key != "") { Jedis jedis = POOL.getResource(); jedis.set(key, JSONObject.fromObject(javaBean).toString()); if (activeTime != null && activeTime > 0) { jedis.expire(key, activeTime); } jedis.close(); return true; } return false;}/** * 此方法将会把存在redis中的数据取出来,并封装成相应的JavaBean * * @param key * 存储的名字 * @param beanClass * 要封装成为的javaBean * @return javaBean */public static Object getBean(String key, Class beanClass) { if (key != null && key != "" && beanClass != null) { Jedis jedis = POOL.getResource(); Object object = JSONObject.toBean( JSONObject.fromObject(jedis.get(key)), beanClass); jedis.close(); return object; } return null;}/** * * 此方法将ArrayList集合直接存储为一个字符串 * * @param key * 存储的名字 * @param list * 要存储的集合对象 * @param activeTime * 该对象的有效时间,单位为秒 */public static Boolean setArrayList(String key, List<Object> list, Integer activeTime) { if (list != null && key != null && key != "") { Jedis jedis = POOL.getResource(); jedis.set(key, JSONArray.fromObject(list).toString()); if (activeTime != null && activeTime > 0) { jedis.expire(key, activeTime); } jedis.close(); return true; } return false;}/** * 此方法将会把存在redis中的数据取出来,并封装成相应的Arraylist集合 * * @param key * 存储的名字 * @param beanClass * 要封装成为的javaBean * @return List */public static List<Object> getArraylist(String key, Class beanClass) { if (key != null && key != "" && beanClass != null) { Jedis jedis = POOL.getResource(); JSONArray jsonArray = JSONArray.fromObject(jedis.get(key)); List<Object> list = new ArrayList<Object>(); for (int i = 0; i < jsonArray.size(); i++) { Object object = JSONObject.toBean( (JSONObject) jsonArray.get(i), beanClass); list.add(object); } return list; } return null;}/** * 此方法将Map集合直接存储为一个字符串 * @param key 存储的名字 * @param map 要存储的Map集合对象 * @param activeTime 该对象的有效时间,单位为秒 * @return 成功返回true,失败返回false */public static boolean setMap(String key, Map<String, Object> map, Integer activeTime) { if (map != null && key != null && key != "") { Jedis jedis = POOL.getResource(); jedis.set(key, JSONObject.fromObject(map).toString()); if (activeTime != null && activeTime > 0) { jedis.expire(key, activeTime); } jedis.close(); return true; } return false;}/** * 此方法将会把存在redis中的数据取出来,并封装成相应的Map集合 * @param key 存储的名字 * @param beanClass 要封装成的对象 * @return 返回封装后的map集合 */public static Map<String, Object> getMap(String key, Class beanClass) { if (key != null && key != "" && beanClass != null) { Jedis jedis = POOL.getResource(); Map map1 = (Map) JSONObject.fromObject(jedis.get(key)); Set set = map1.keySet(); Iterator ite = set.iterator(); Map<String, Object> maps = new HashMap<String, Object>(); while (ite.hasNext()) { String key1 = (String) ite.next(); JSONObject jsonObject = JSONObject.fromObject(map1.get(key1)); Object object = JSONObject.toBean(jsonObject, beanClass); maps.put(key1, object); } return maps; } return null;}
}
阅读全文
1 0
- JAVA使用redis缓存的工具类,实现了javaBean,List集合,Map集合的直接存取
- Java集合的使用:List与Map
- JAVA 集合List,数组,Set,Map,直接的相互转换
- JAVA 集合List,数组,Set,Map,直接的相互转换
- JAVA 集合List,数组,Set,Map,直接的相互转换
- java的集合list map
- redis获取的集合转换成普通list/map集合
- java 集合架构--[Collection] [List] [Set] [Map] [集合工具类]
- java 集合架构--[Collection] [List] [Set] [Map] [集合工具类]
- java 集合架构--[Collection] [List] [Set] [Map] [集合工具类]
- java工具类之将map范型集合转化为list的有序集合工具类
- 对List集合嵌套了map集合的排序
- Java 取集合的差集,list集合或者map集合,都可以取差集。使用guava工具类来做。而不是重复的造轮子。
- JAVA集合的认识[Set,List,Map]
- java 集合list和map的用法
- Map集合与List集合的使用的深入总结
- Java集合&List的实现
- Java集合工具Map、List、Set、Array使用小结
- 机器学习_中心极限定理
- STM8L的printf函数实现
- performSelector多参数
- LINUX虚拟机搭建
- C++ string类增删查改
- JAVA使用redis缓存的工具类,实现了javaBean,List集合,Map集合的直接存取
- PAT 甲级 1006
- POSTMAN tests 简单记录
- 魏伟魏伟无无无无无无
- 自定义listView的上啦加载 带回弹
- 应用层原理
- 设计模式之结构型
- mac idea 执行报错Class JavaLaunchHelper is implemented in both *. One of the two will be used. Which one
- TiDB 1.0 GA Release