Jedis鏈接池對Redis數據操做

【效果圖】
linux

【前言】
Redis是經常使用於緩存的非關係型數據庫,感受更像增強型的HashMap的用法,依靠Key和Value保存數據。官方推薦用Jedis來操做Redis數據庫,使用和JDBC差很少,一半經過鏈接池做數據操做。git

【Redis安裝】
支持windows和linux安裝,能夠裝個windows版本,測試下用例。github

地址:https://github.com/MicrosoftArchive/redis/releases
redis

安裝後的命令行啓動服務
sql

【測試代碼】
github提到須要依賴包數據庫

<dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.9.0</version>
        <type>jar</type>
        <scope>compile</scope>
</dependency>

測試用例,包括單實例和鏈接池windows

package jedis.Redis;

import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class jedisTest {
    
    @Test
    /*
     * 單實例測試
     */
    public void demoSingle(){
        //1.設置IP和端口
        Jedis jedis =new Jedis("127.0.0.1",6379);
        //2.傳入數據
        jedis.set("name", "jedisSingle");
        //3.獲取數據
        System.out.println(jedis.get("name")); 
        //4.釋放鏈接
        jedis.close();
    }
    
    @Test
    /*
     * 鏈接池測試
     */
    public void demoPool(){
        //鏈接池配置對象-最大鏈接數-空閒鏈接數
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(20);
        config.setMaxIdle(10);
        
        //得到鏈接池
        JedisPool jedisPool= new JedisPool(config,"127.0.0.1",6379);
        //實例化單個鏈接
        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            jedis.set("name", "jedisPool");
            System.out.println(jedis.get("name")); 
        } catch (Exception e) {
            e.printStackTrace();
        } finally{
            //釋放資源
            jedis.close();
            jedisPool.close();
        }                                   
    }   
}

Redis傳入取出數據,更相似於HashMap的方式,創建鏈接釋放資源相似於JDBC。儘管存取數據很快,相對於Mysql這些關係型數據庫,可是數據類型和非關係的特性,更適合做緩存業務。緩存

相關文章
相關標籤/搜索