`

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

}

 

分享到:
评论

相关推荐

    Redis 入门指南.pdf

    Redis 入门指南.pdf

    Redis入门到精通最新教学视频

    Redis入门到精通最新教学视频!!!!!!!!!!!!!!!!!!!

    Redis入门指南 第2版 高清PDF完整扫描版.pdf 【带书签】

    Redis入门指南 第2版 高清PDF完整扫描版.pdf 。搜集整理自互联网,仅供个人学习,严禁用于商业用途,如有版权问题,请联系删除。

    redis入门指南2

    《Redis入门指南(第2版)》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、...

    redis入门指南

    《Redis入门指南》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久...

    Redis入门指南(第2版)

    本书是一本Redis入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久化、优化Redis存储...

    Redis入门指南

    《Redis入门指南》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久...

    redis入门指南 高清PDF

    redis 入门教程,高清扫描版。免费下载、

    Redis入门第二版

    Redis Redis入门第二版 Redis入门第二版 Redis入门第二版

    Redis入门指南(第2版)电子书

    《Redis入门指南(第2版)》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、...

    Redis入门指南pdf带目录

    Redis入门指南pdf带目录

    Redis入门简单实例

    Redis入门简单实例,附带详细说明,代码可直接运行,欢迎交流。

    Redis入门指南 - 李子骅.mobi

    《Redis入门指南》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据 ...

    Redis入门指南.pdf

    Redis入门指南.pdf Redis入门指南.pdf Redis入门指南.pdf

Global site tag (gtag.js) - Google Analytics