前几天,在做JFinal项目的时候,把以前用ssm框架写的小程序登录判断session是否过期的登录demo整合到JFinal这个项目中了,因为没有用 stringRedisTemplate,所以需要用到redis插件, 但是用redis插件后, 还是报错提示没有,最后又在网上百度了一下,找到了这个不需要 配置插件,就可以用redis的。下面把代码写出来
public Jedis getRedis() {
JedisPool jedisPool = getJedisPool();
Jedis jedis = jedisPool.getResource();
return jedis ;
}
/**
*
*/
public JedisPool getJedisPool() {
JedisPoolConfig poolConfig = new JedisPoolConfig();
// 控制一个pool最多有多少个 jedis实例。
poolConfig.setMaxTotal(1000);
// 控制一个pool最多有多少个状态为idle(空闲的)的 jedis实例。
poolConfig.setMaxIdle(10);
// 表示当borrow(引入)一个 jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
poolConfig.setMaxWaitMillis(200000);
// 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的 jedis实例均是可用的;
poolConfig.setTestOnBorrow(true);
return new JedisPool(poolConfig, "localhost", 6379);
}
然后再调用的时候,直接就可以用咯:
Jedis jedis=getRedis();
jedis.set(Third_session,sessionKey+openid);
jedis.expire(Third_session,86400);//设置过期时间
Jedis jedis=getRedis();
boolean flag=jedis.exists(thirdSession_Key);//判断是否有这个key
System.out.println(new Date() + "得到session:" + flag);
long beforeTime= jedis.ttl(thirdSession_Key);
System.out.println("有效时间:======"+beforeTime+"S===========");
这样的好处,无需再配置其他。可以直接使用哦!
先从改造轮子做起。。。