Redis的使用
添加jar包
Redis工具类
import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class JedisUtils { //创建连接池 private static JedisPoolConfig config; private static JedisPool pool; static{ config=new JedisPoolConfig(); config.setMaxTotal(30); config.setMaxIdle(2); pool=new JedisPool(config, "192.168.146.135", 6379); } //获取连接的方法 public static Jedis getJedis(){ return pool.getResource(); } //释放连接 public static void closeJedis(Jedis j){ j.close(); } }
启动win版本的Redis
使用Redis
如果缓存中已经有,将直接从缓存获得,如果没有将从数据库获取。修改 CategoryService 代码,
给当前查询所有添加业务缓存/** * 查询分类通过缓存服务器 */ public String findAllByAjax() throws Exception { Jedis j =null; String value=null; try { //从 redis 获取分类信息 //1.获取连接 j = JedisUtils.getJedis(); //2.获取数据 判断数据是否为空 value = j.get("category_list"); //2.1 若不为空,直接返回数据 if(value!=null){ System.out.println("缓存中有数据库"); return value; } //2.2 若为空,从 mysql 数据库中获取 并放入 redis 中 List<Category> clist = findAll(); //将 clist 转成 json 返回且放入 redis 中即可 value=JsonUtil.list2json(clist); //将 value 放入 redis 中 j.set("category_list", value); return value; } finally { //释放 jedis JedisUtils.close(j); } }
其他工具 json
json jar包
json工具类
package com.itheima.utils; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.CycleDetectionStrategy; import net.sf.json.xml.XMLSerializer; /** * 处理json数据格式的工具类 * * @Date 2013-3-31 * @version 1.0 */ public class JsonUtil { /** * 将数组转换成String类型的JSON数据格式 * * @param objects * @return */ public static String array2json(Object[] objects){ JSONArray jsonArray = JSONArray.fromObject(objects); return jsonArray.toString(); } /** * 将list集合转换成String类型的JSON数据格式 * * @param list * @return */ public static String list2json(List list){ JSONArray jsonArray = JSONArray.fromObject(list); return jsonArray.toString(); } /** * 将map集合转换成String类型的JSON数据格式 * * @param map * @return */ public static String map2json(Map map){ JSONObject jsonObject = JSONObject.fromObject(map); return jsonObject.toString(); } /** * 将Object对象转换成String类型的JSON数据格式 * * @param object * @return */ public static String object2json(Object object){ JSONObject jsonObject = JSONObject.fromObject(object); return jsonObject.toString(); } /** * 将XML数据格式转换成String类型的JSON数据格式 * * @param xml * @return */ public static String xml2json(String xml){ JSONArray jsonArray = (JSONArray) new XMLSerializer().read(xml); return jsonArray.toString(); } /** * 除去不想生成的字段(特别适合去掉级联的对象) * * @param excludes * @return */ public static JsonConfig configJson(String[] excludes) { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(excludes); jsonConfig.setIgnoreDefaultExcludes(true); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); return jsonConfig; } }