关于redis统一session的问题

来源:互联网 发布:软件 先进性 编辑:程序博客网 时间:2024/06/10 18:30

今天闹了一个大笑话,做集群后面放了一个redis用来做session统一,以前安卓,ios放在本地的验证码不能用了,故准备放到redis里做统一管理。但是我将key设置为jsessionid与session里的jsessionid相同导致报错。很尴尬


下面上redis的代码,作为保存


package com.rsxxjs.util.session;import com.rsxxjs.util.common.ConfigUtil;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/** * @TitleRedisClient * @Description redis  * @date 2017年8月9日  */public class RedisClient {public  static  JedisPool jedisPool; // 池化管理jedis链接池static {//读取相关的配置int maxActive = 1000;int maxIdle = 20;int maxWait = 3000;String ip =ConfigUtil.getProperty("redis.ip");int port = 6379;JedisPoolConfig config = new JedisPoolConfig();  //设置最大连接数config.setMaxTotal(maxActive);//设置最大空闲数config.setMaxIdle(maxIdle);//设置超时时间config.setMaxWaitMillis(maxWait);//初始化连接池jedisPool = new JedisPool(config, ip, port); }/** * 向缓存中设置字符串内容 * @param key key * @param value value * @return * @throws Exception */public static boolean  set(String key,String value) throws Exception{Jedis jedis = null;try {jedis = jedisPool.getResource();jedis.set(key, value);return true;} catch (Exception e) {e.printStackTrace();return false;}finally{if(jedis!=null){jedis.close();}}}/** * 删除缓存中得对象,根据key * @param key * @return */public static boolean del(String key){Jedis jedis = null;try {jedis = jedisPool.getResource();jedis.del(key);return true;} catch (Exception e) {e.printStackTrace();return false;}finally{if(jedis!=null){jedis.close();}}}/** * 根据key 获取内容 * @param key * @return */public static Object get(String key){Jedis jedis = null;try {jedis = jedisPool.getResource();Object value = jedis.get(key);return value;} catch (Exception e) {e.printStackTrace();return false;}finally{if(jedis!=null){jedis.close();}}}}


下面是configutils用来读取配置文件

package com.rsxxjs.util.common;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import java.util.Properties;/** *@description 读取配置文件工具类 */public class ConfigUtil{ @SuppressWarnings("rawtypes")private static HashMap messages = new HashMap(); private static Properties props = new Properties(); /** * @param args */static  {ClassLoader classLoader = Thread.currentThread().getContextClassLoader();        InputStream is = null;        is = classLoader.getResourceAsStream("properties/common-config.properties");        if (is != null)         {            try{props.load(is);}catch (IOException e){e.printStackTrace();}finally{try{is.close();}catch (IOException e){e.printStackTrace();}}        }        }@SuppressWarnings("unchecked")public static String getProperty(String key){String msg = (String)messages.get(key);if (msg == null){String pros = props.getProperty(key);if( pros != null){messages.put(key,pros);}msg = pros;}return msg;}}



原创粉丝点击