1. 程式人生 > >Java操作redis,對redis進行增刪查改等操作

Java操作redis,對redis進行增刪查改等操作

然後需要匯入:jedis-2.7.3.jar這個包,看如下程式碼:

package redis.main;

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

public final class RedisPool {
	 
    //Redis伺服器IP
    private static String ADDR = "127.0.0.1";
 
    //Redis的埠號
    private static int PORT = 6379;
 
    //訪問密碼
    private static String AUTH = "123456";
 
    //可用連線例項的最大數目,預設值為8;
    //如果賦值為-1,則表示不限制;如果pool已經分配了maxActive個jedis例項,則此時pool的狀態為exhausted(耗盡)。
    private static int MAX_ACTIVE = 1024;
 
    //控制一個pool最多有多少個狀態為idle(空閒的)的jedis例項,預設值也是8。
    private static int MAX_IDLE = 200;
 
    //等待可用連線的最大時間,單位毫秒,預設值為-1,表示永不超時。如果超過等待時間,則直接丟擲JedisConnectionException;
    private static int MAX_WAIT = 10000;
 
    private static int TIMEOUT = 10000;
 
    //在borrow一個jedis例項時,是否提前進行validate操作;如果為true,則得到的jedis例項均是可用的;
    private static boolean TEST_ON_BORROW = true;
 
    private static JedisPool jedisPool = null;
 
    /**
     * 初始化Redis連線池
     */
    static {
        try {
            JedisPoolConfig config = new JedisPoolConfig();
            //config.setMaxActive(MAX_ACTIVE);
            config.setMaxTotal(MAX_ACTIVE);
            config.setMaxIdle(MAX_IDLE);
            config.setMaxWaitMillis(MAX_WAIT);
            config.setTestOnBorrow(TEST_ON_BORROW);
            jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    /**
     * 獲取Jedis例項
     * @return
     */
    public synchronized static Jedis getJedis() {
        try {
            if (jedisPool != null) {
                Jedis resource = jedisPool.getResource();
                return resource;
            } else {
                return null;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
 
    /**
     * 釋放jedis資源
     * @param jedis
     */
    public static void returnResource(final Jedis jedis) {
        if (jedis != null) {
            jedisPool.close();
        }
    }
}

下面是main函式:
package redis.main;

import java.util.Set;

import redis.clients.jedis.Jedis;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        insert("username", "xiaoming1");
        System.out.println(get("username"));
        delete("username");
        System.out.println(get("username"));
    }
    
    static void insert(String key, String value){
    	 Jedis jedis = RedisPool.getJedis();
    	 jedis.set(key, value);
    }
    static void delete(String key){
    	Jedis jedis = RedisPool.getJedis();
   	 	jedis.del(key);
    }
    static String get(String key){
    	Jedis jedis = RedisPool.getJedis();
   	 	return jedis.get(key);
    }
}

整個工程下載地址:https://pan.baidu.com/s/1c2GhG7u