jedis是java的redis客户端程序,在spring下面有专门的jar包提供了一个现成的模板类。不过,自己为了练习,需要一个超级简单的对redis操作的工具类。于是,就随便写了一个。
功能很简单,通过这个可以对redis进行一些常规操作,用于添加一些测试数据等,并可以熟悉一下java的模板设计模式。
代码不是想取代什么框架,不是重复造轮子,就是练习,高手可以直接绕道,初学者可以学习如下东西:
1.读取properties文件
2.使用内部类方式创建的单例类,天生支持多线程
3.jedis的基本使用方法
4.模板模式的使用
最终的使用示例:
RedisTemplate util = new RedisTemplate(); /** * 在一个事务中提交多个redis操作 */ util.consoleWithTrancation(new RedisTransactionCallback() { @Override public void execute(Transaction t) { t.set("nname", "1111"); t.set("nname1", "222"); t.set("nname2", "333"); } }); /** * 在一个管道中处理多个redis操作. */ util.consoleWithPipe(new RedisPipelineCallback() { @Override public void execute(Pipeline p) { p.set("nn2ame", "1111"); p.set("nn2ame1", "222"); p.set("nn2ame2", "333"); } }); /** * 进行一个redis操作. */ util.console(new RedisCallback() { @Override public void execute(Jedis j) { j.set("haha", "还是是多少多少看"); } });
核心的jedis操作封装类,包括创建一个jedispool对象:
package brightmoon.redis; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import brightmoon.util.Util; /** * redis处理工具类. 包含读取配置文件,初始化jedispool,关闭连接等步骤. * * @author lsq * */ public class RedisUtil { protected Log log = LogFactory.getLog(this.getClass().getName()); private Properties pros; private RedisUtil() { init(); initialPool(); } private static class SingletonHolder { private static RedisUtil instance = new RedisUtil(); } public static RedisUtil getInstance() { return SingletonHolder.instance; } private String host; private String port; private String maxActive; private String maxIdle; private String testOnBorrow; private String maxWait; private JedisPool jedisPool; private void init() { InputStream in = null; try { pros = new Properties(); in = this.getClass().getResourceAsStream("/redis.properties"); pros.load(in); host = pros.getProperty("host"); port = pros.getProperty("port"); maxActive = Util.notBlank(pros.getProperty("maxActive"), "20"); maxWait = Util.notBlank(pros.getProperty("maxWait"), "5"); maxIdle = Util.notBlank(pros.getProperty("maxIdle"), "1000"); testOnBorrow = Util.notBlank(pros.getProperty("testOnBorrow"), "false"); } catch (Exception ex) { log.error("没有找到redis配置文件", ex); } finally { if (in != null) try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } private void initialPool() { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxActive(Integer.parseInt(maxActive)); config.setMaxIdle(Integer.parseInt(maxIdle)); config.setMaxWait(Integer.parseInt(maxWait)); config.setTestOnBorrow("true".equals(testOnBorrow)); jedisPool = new JedisPool(config, host, Integer.parseInt(port)); } public Jedis getJedis() { return jedisPool.getResource(); } /** * 释放被损坏的jedis. * * @param jd */ public void releaseBrokenJedis(Jedis jd) { jedisPool.returnBrokenResource(jd); jd = null; } /** * 从连接池中释放jedis * * @param jd */ public void releaseJedis(Jedis jd) { jedisPool.returnResource(jd); jd = null; } }
代码详细见附件!
相关推荐
jedis连接池 配置文件等等 ,jedis操作工具类 各种操作直接调用即可。拿不到连接请设置一下redis密码
该类是jedis操作redis的工具类,使用该工具类之后,无需配置spring,只需要显示调用工具类中的方法就好了。此类为工作中在用,所以确定可用。 共有两个类,一个工具类和一个测试调用demo
Jedis操作Redis的案例,主要涉及MyBatis持久层框架、Jedis工具类、Servlet、JSP页面等技术
java操作redis代码示例 ,注释,Jedis的api操作注释详细。
jedis工具类
此java类配置redis的ip,port,超时时间,获取jedis,然后通过jedis操作string,list,hash,set,zset等数据结构的实例,展示怎么调用jedisAPI
jedis通过JedisSentinelPool获取jedis操作redis,通过配置sentienl,获取sentinel连接池,通过sentinel,获取jedis信息
jedis的工具类,java代码写的,非常全面,jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类...
通过Jedis操作Redis中定义的5中数据类型
Java通过Jedis操作Redis,演示Redis基本数据类型,主从复制,事务。
Jedis 操作Redis 集群demo,仅作参考
jedis单机版,集群版工具类
NULL 博文链接:https://fxzcollege6.iteye.com/blog/2211127
* redis主从架构的jedis客户端管理类,大概1000行代码左右 * 1 支持主从复制key/value,pop/push,pub/sub,读/写分离等功能的灾难失败自动选择和恢复 * 2 可以选择读写分离功能,主写从读,默认不启用,都使用主服务进行...
java调用redis工具类jedis
使用jedis连接池获取的jedis,可减轻redis服务器的压力,提高了运行效率
java框架中使用jedis操控redis 1、单机版 2、集群版 工具类 常用的操作redis的方法提取出一个接口,分别对应单机版和集群版创建两个实现类
jedis jar包; 版本:2.0 2.1