1. 程式人生 > >如何在專案中直接用redis做快取

如何在專案中直接用redis做快取

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

這樣的好處,無需再配置其他。可以直接使用哦!

先從改造輪子做起。。。