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));
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值