redis入门

package com.test.redis;

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

public class BaseRedisController {
	protected JedisPool pool;
	
	public void start() {
		String host = "127.0.0.1";
		int port = 6379;

		try {
			int maxActive = 20;
			int maxIdle = 10;
			int maxWait = 60000;
			int minIdle = 5;

			JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
			jedisPoolConfig.setMaxTotal(maxActive);
			jedisPoolConfig.setMaxIdle(maxIdle);
			jedisPoolConfig.setMaxWaitMillis(maxWait);
			jedisPoolConfig.setMinIdle(minIdle);
			jedisPoolConfig.setNumTestsPerEvictionRun(2);
			jedisPoolConfig.setTestOnBorrow(false);
			jedisPoolConfig.setTestOnReturn(false);
			jedisPoolConfig.setTestWhileIdle(true);
			// pool = new JedisPool(jedisPoolConfig, host, port);
			if(pool == null){
				pool = new JedisPool(jedisPoolConfig, host, port, Protocol.DEFAULT_TIMEOUT, null, 0);
			}
		} catch (Exception e1) {
			e1.printStackTrace();
		}

		Jedis jedis = pool.getResource();
		try {
			if (!jedis.isConnected()) {
				throw new Exception("Cann't connect to User Redis Server!");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			pool.returnResource(jedis);
		}
	}
	
	public void stop() {
		pool.destroy();
	}

}

 

package com.test.redis;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.exceptions.JedisException;


public class FirstRedisManager extends BaseRedisController{
	private static final String SESSION_PREFIX = "test-";
	private static final int SESSION_TIMEOUT_IN_SECONDS = 24 * 60 * 60;
	
	public void set(String mobile, String createTime, String num) {
		Jedis jedis = null;
		try {
			jedis = pool.getResource();
			String key = SESSION_PREFIX + mobile;
			jedis.hset(key, createTime, num);
			jedis.expire(key, SESSION_TIMEOUT_IN_SECONDS);
			pool.returnResource(jedis);
		} catch (Exception e) {
			if (jedis != null) {
				pool.returnBrokenResource(jedis);
			}
			throw new JedisException(e);
		}
	}
	
	public void set(String key, String value){
		Jedis jedis = null;
		
		try {
			jedis = pool.getResource();
			key = SESSION_PREFIX + key;
			jedis.set(key, value);
			jedis.expire(key, SESSION_TIMEOUT_IN_SECONDS);
			pool.returnResource(jedis);
		} catch (Exception e) {
			if(jedis != null){
				pool.returnBrokenResource(jedis);
			}
			e.printStackTrace();
		}
	}
	
	public String get(String mobile, String createTime){
		Jedis jedis = null;
		String result = null;
		try {
			jedis = pool.getResource();
			String key = SESSION_PREFIX + mobile;
			result = jedis.hget(key, createTime);
			pool.returnResource(jedis);
		} catch (Exception e) {
			if (jedis != null) {
				pool.returnBrokenResource(jedis);
			}
			e.printStackTrace();
		}
		return result;
	} 
	
	public void delete(String mobile, String createTime) {
		Jedis jedis = null;
		try {
			jedis = pool.getResource();
			mobile = SESSION_PREFIX + mobile;
			jedis.hdel(mobile, createTime);
			pool.returnResource(jedis);
		} catch (Exception e) {
			if (jedis != null) {
				pool.returnBrokenResource(jedis);
			}
			throw new JedisException(e);
		}
	}
	
	public static void main(String[] args) {
		FirstRedisManager firstRedisManager = new FirstRedisManager();
		firstRedisManager.start();
		
		String mobile = "123456789";
		String createTime = "2015-5-22";
		String num = "HelloWorld!";
		firstRedisManager.set(mobile, createTime, num);
		
		System.out.println("redis get String ---->" + firstRedisManager.get(mobile, createTime));
		
		firstRedisManager.delete(mobile, createTime);
		System.out.println("redis get String ---->" + firstRedisManager.get(mobile, createTime));
	}

}

 

你可能感兴趣的:(java,redis)