如何在项目中直接用redis做缓存

来源:互联网 发布:mac地址修改器 编辑:程序博客网 时间:2024/05/17 07:12

前几天,在做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===========");

这样的好处,无需再配置其他。可以直接使用哦!




先从改造轮子做起。。。