redis常用接口实现

在实际工作中,redis通常是作为一个常用的工具类,你只需要调用其即可,所以这里就统计了redis的一些常用接口方法与实现。这里是封装了单机版与集群版本的两种不同实现。

redis常用接口实现

Java是基于Jedis的jar包开发的,首先,你需要先下载安装这个jar包,这里就不提供了,直接网上查询就有。如果使用maven构建的话,也是很简单的,如下:这里依赖的是2.7.3版本,这个依赖哪个版本没有明确的规定,根据你自己的情况。

<dependency><groupid>redis.clients</groupid><artifactid>jedis</artifactid><version>2.7.3</version></dependency>

一:redis常用接口如下:

public interface JedisClient { 	//赋值的方法 	String set(String key, String value); 	//获取值的方法 	String get(String key); 	//判断是否存在 	Boolean exists(String key); 	Long expire(String key, int seconds); 	Long ttl(String key); 	Long incr(String key); 	//hset  方法 	Long hset(String key, String field, String value); 	//hget方法 	String hget(String key, String field);     //删除 has方法 	Long hdel(String key, String... field);     //判断has是否存在 	Boolean hexists(String key, String field); 	List<string> hvals(String key); 	//删除方法 	Long del(String key); }</string>

二:redis单机版本的实现,代码如下:

import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool;   public class JedisClientPool implements JedisClient { 	 	private JedisPool jedisPool;   	public JedisPool getJedisPool() { 		return jedisPool; 	}   	public void setJedisPool(JedisPool jedisPool) { 		this.jedisPool = jedisPool; 	}   	@Override 	public String set(String key, String value) { 		Jedis jedis = jedisPool.getResource(); 		String result = jedis.set(key, value); 		jedis.close(); 		return result; 	}   	@Override 	public String get(String key) { 		Jedis jedis = jedisPool.getResource(); 		String result = jedis.get(key); 		jedis.close(); 		return result; 	}   	@Override 	public Boolean exists(String key) { 		Jedis jedis = jedisPool.getResource(); 		Boolean result = jedis.exists(key); 		jedis.close(); 		return result; 	}   	@Override 	public Long expire(String key, int seconds) { 		Jedis jedis = jedisPool.getResource(); 		Long result = jedis.expire(key, seconds); 		jedis.close(); 		return result; 	}   	@Override 	public Long ttl(String key) { 		Jedis jedis = jedisPool.getResource(); 		Long result = jedis.ttl(key); 		jedis.close(); 		return result; 	}   	@Override 	public Long incr(String key) { 		Jedis jedis = jedisPool.getResource(); 		Long result = jedis.incr(key); 		jedis.close(); 		return result; 	}   	@Override 	public Long hset(String key, String field, String value) { 		Jedis jedis = jedisPool.getResource(); 		Long result = jedis.hset(key, field, value); 		jedis.close(); 		return result; 	}   	@Override 	public String hget(String key, String field) { 		Jedis jedis = jedisPool.getResource(); 		String result = jedis.hget(key, field); 		jedis.close(); 		return result; 	}   	@Override 	public Long hdel(String key, String... field) { 		Jedis jedis = jedisPool.getResource(); 		Long result = jedis.hdel(key, field); 		jedis.close(); 		return result; 	}   	@Override 	public Boolean hexists(String key, String field) { 		Jedis jedis = jedisPool.getResource(); 		Boolean result = jedis.hexists(key, field); 		jedis.close(); 		return result; 	}   	@Override 	public List<string> hvals(String key) { 		Jedis jedis = jedisPool.getResource(); 		List<string> result = jedis.hvals(key); 		jedis.close(); 		return result; 	}   	@Override 	public Long del(String key) { 		Jedis jedis = jedisPool.getResource(); 		Long result = jedis.del(key); 		jedis.close(); 		return result; 	}   }</string></string>

三:redis集群版本的实现:具体代码如下:

import redis.clients.jedis.JedisCluster;   public class JedisClientCluster implements JedisClient { 	 	private JedisCluster jedisCluster; 	   	public JedisCluster getJedisCluster() { 		return jedisCluster; 	}   	public void setJedisCluster(JedisCluster jedisCluster) { 		this.jedisCluster = jedisCluster; 	}   	@Override 	public String set(String key, String value) { 		return jedisCluster.set(key, value); 	}   	@Override 	public String get(String key) { 		return jedisCluster.get(key); 	}   	@Override 	public Boolean exists(String key) { 		return jedisCluster.exists(key); 	}   	@Override 	public Long expire(String key, int seconds) { 		return jedisCluster.expire(key, seconds); 	}   	@Override 	public Long ttl(String key) { 		return jedisCluster.ttl(key); 	}   	@Override 	public Long incr(String key) { 		return jedisCluster.incr(key); 	}   	@Override 	public Long hset(String key, String field, String value) { 		return jedisCluster.hset(key, field, value); 	}   	@Override 	public String hget(String key, String field) { 		return jedisCluster.hget(key, field); 	}   	@Override 	public Long hdel(String key, String... field) { 		return jedisCluster.hdel(key, field); 	}   	@Override 	public Boolean hexists(String key, String field) { 		return jedisCluster.hexists(key, field); 	}   	@Override 	public List<string> hvals(String key) { 		return jedisCluster.hvals(key); 	}   	@Override 	public Long del(String key) { 		return jedisCluster.del(key); 	}   }</string>

更多redis知识请关注redis入门教程栏目。

以上就是

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享