1. 程式人生 > 其它 >Jedis 操作redis簡易說明

Jedis 操作redis簡易說明

參考地址:https://tech.antfin.com/docs/2/98726

1: maven引入jar

        <!-- Jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.8
.0</version> </dependency>

2:測試程式碼

package com.gwzx.gwzxyw.utils;

import org.apache.commons.pool2.impl.GenericObjectPoolConfig;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

/**
 * 操作redis簡易工具類
 * @author
 *
 */
public class JedisUtil {
    
    private
static JedisPool jedispool = null; public static void main(String[] args) { try { //連線池通用的一些設定 GenericObjectPoolConfig poolconf = new GenericObjectPoolConfig(); //設定連線池的屬性 //設定連線池最多建立50個jedis連線 poolconf.setMaxTotal(60);
//設定池中最多保留10個空閒的jedis連線 poolconf.setMaxIdle(10); //設定池中最小保留5個空閒的jedis連線 poolconf.setMinIdle(5); // 當資源池連線用盡後,呼叫者的最大等待時間(單位為毫秒)。預設值為-1,表示永不超時 poolconf.setMaxWaitMillis(1000L * 2); //當連線用完時,是否阻塞客戶端直到超時。false代表連線耗盡,直接給客戶端拋異常 poolconf.setBlockWhenExhausted(true); //從池中借一個連線時,先測試一下連線是否正常 poolconf.setTestOnBorrow(true); //return 一個jedis例項給pool時,是否檢查連線可用性(ping()) //poolconf.setTestOnReturn(true); // 空閒檢測 // 如果為true,表示用一個專門的執行緒對空閒的連線進行有效性的檢測掃描,如果有效性檢測失敗,即表示無效連線,會從資源池中移除。 poolconf.setTestWhileIdle(true); // 表示一個Jedis連線至少停留在空閒狀態的最短時間,然後才能被空閒連線掃描執行緒進行有效性檢測,預設值為60000毫秒,即60秒。 poolconf.setMinEvictableIdleTimeMillis(1000L * 60); // 表示兩次空閒連線掃描的活動之間,要睡眠的毫秒數,預設為30000毫秒,也就是30秒鐘。 poolconf.setTimeBetweenEvictionRunsMillis(1000L * 30); // 表示空閒檢測執行緒每次最多掃描的Jedis連線數,預設值為-1,表示掃描全部的空閒連線。 poolconf.setNumTestsPerEvictionRun(-1); // public JedisPool(final GenericObjectPoolConfig poolConfig, final String host, int port, int timeout, final String password, final int database) jedispool = new JedisPool(poolconf, "127.0.0.1", 6379, 2000, null, 0); //從池中獲取一個連線 Jedis jedis = jedispool.getResource(); //使用 System.out.println(jedis.ping()); //PONG String t = jedis.setex("receipt:aa", 30, "老郭laoguo.."); System.out.println("t:" + t); //OK String value = jedis.get("receipt:aa"); System.out.println("value:" + value); //將連線放回連線池 jedis.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("啟動失敗"); } } }