如何在專案中直接用redis做快取
阿新 • • 發佈:2019-02-07
前幾天,在做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===========");
這樣的好處,無需再配置其他。可以直接使用哦!
先從改造輪子做起。。。