网上很多redis工具类需要配套ssm,spring等,这是一套可以直接用的redis取参数的工具类(String类型)

一.jedis-2.1.0.jar下载,放到项目的lib下

网盘地址(4tn5)

二.redis的配置

目录结构推荐

在conf.properties里配置redis信息


redis-server=127.0.0.1
redis-port=根据自己配置
redis-passwd=gg思密达

三.redis的工具类RedisClient.java(自己建包)


import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;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 redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;public class RedisClient {private static Log log=LogFactory.getLog(RedisClient.class);private Jedis jedis;//非切片额客户端连接private JedisPool jedisPool;//非切片连接池private ShardedJedis shardedJedis;//切片额客户端连接private ShardedJedisPool shardedJedisPool;//切片连接池private String redisServer = getConfigAttr("conf.properties","redis-server");private String redisPort = getConfigAttr("conf.properties","redis-port");private String passwd = getConfigAttr("conf.properties","redis-passwd");private static final String  defaultServerIp = "127.0.0.1";//如果没有配置地址,默认为本机地址public RedisClient() { initServerPort();initialPool(); initialShardedPool(); shardedJedis = shardedJedisPool.getResource(); jedis = jedisPool.getResource();jedis.auth(passwd);} private void initServerPort(){if("".equals(redisServer) || redisServer==null){redisServer = defaultServerIp;}if("".equals(redisPort) || redisPort==null){redisPort = "6379";}}/*** 初始化非切片池*/private void initialPool() { // 池基本配置 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxActive(20); config.setMaxIdle(5); config.setMaxWait(1000l); config.setTestOnBorrow(false); jedisPool = new JedisPool(config,redisServer,Integer.parseInt(redisPort),100000);}/** * 初始化切片池 */ private void initialShardedPool() { // 池基本配置 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxActive(20); config.setMaxIdle(5); config.setMaxWait(1000l); config.setTestOnBorrow(false); // slave链接 List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>(); JedisShardInfo jedisShardInfo= new JedisShardInfo(redisServer,Integer.parseInt(redisPort),100000,"master");jedisShardInfo.setPassword(passwd);shards.add(jedisShardInfo);// 构造池 shardedJedisPool = new ShardedJedisPool(config, shards); } public void cacheRecord(Map<String, String> map){Set<Map.Entry<String, String>> entrySet = map.entrySet();//将关系集合entrySet进行迭代,存放到迭代器中                Iterator<Map.Entry<String, String>> it2 = entrySet.iterator();while(it2.hasNext()){Map.Entry<String, String> me = it2.next();//获取Map.Entry关系对象meString key = me.getKey();//通过关系对象获取keyString value = me.getValue();//通过关系对象获取valueshardedJedis.set(key, value);                }}public void delCacheList(List<String> list){for(String s:list){jedis.del(s);}}public boolean isExist(String s){return jedis.exists(s);}public String getValue(String s){return jedis.get(s);}public void destroy(){jedisPool.returnResource(jedis);shardedJedisPool.returnResource(shardedJedis);}private String getConfigAttr(String propfile,String attr){InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(propfile);    Properties p = new Properties();    try {    p.load(inputStream);    } catch (IOException e) {if(log.isErrorEnabled()){log.error(e);}} catch (Exception e) {if(log.isErrorEnabled()){log.error(e);}}finally{if(p.isEmpty()){try {inputStream.close();} catch (IOException e) {if(log.isErrorEnabled()){log.error(e);}} catch (Exception e) {if(log.isErrorEnabled()){log.error(e);}}}}    String attrValue = p.getProperty(attr);   return attrValue;}/*** 获取jedis* @return the jedis*/public Jedis getJedis() {return jedis;}/*** 设置jedis* @param jedis the jedis to set*/public void setJedis(Jedis jedis) {this.jedis = jedis;}}

四.取用redis的参数

RedisClient redisClientPc = new RedisClient();
String aaa = redisClientPc.getValue("aaa") == null ? "" : redisClientPc.getValue("aaa");

在这里想吐槽一句:学习成本变高了,动不动要c币,太难了

java实现redis工具类及其调用相关推荐

  1. Java封装redis工具类RedisUtils,以及在@Postconstruct注解中调用redis可能出现redisTemplate空指针异常

    1.封装redis工具类RedisUtils import org.springframework.data.redis.core.RedisTemplate; import org.springfr ...

  2. SpringBoot整合Redis并实现Redis工具类

    Redis 是用 C 语言开发的一款开源的.高性能的键值对存储数据库.它采用 BSD 协议,为了适应不同场景下的存储需求,提供了多种键值对类型,到目前为止 Redis 数据库支持5种数据类型,分别是S ...

  3. Java开发中的工具类——基于JedisPool的Redis工具类

    目录 一.Maven依赖 二.Redis配置类 三.使用@Cacheable注解进行数据缓存 四.自定义Redis工具类及使用 4.1 序列化工具类 4.2 redis客户端工具类 4.3 redis ...

  4. Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)...

    当我们在非Controller类中应用service的方法是会报空指针,如图: 这是因为Spring MVC普通类或工具类中调用service报空null的解决办法(调用service报java.la ...

  5. Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)

    当我们在非Controller类中应用service的方法是会报空指针,如图: 这是因为Spring MVC普通类或工具类中调用service报空null的解决办法(调用service报java.la ...

  6. 整理Java相关的工具类Utils,持续更新中,建议收藏【目前更新至24】

    文章目录 1.BigDecimalUtil 2.CaptchaUtil 图片验证码工具类 3.CoordinateTransformUtil 坐标系转换工具类 4.DateUtil 日期加减工具类 5 ...

  7. Redis(七) - 封装Redis工具类

    文章目录 一.封装Redis工具类 1. 使用构造方法注入StringRedisTemplate 2. 方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL ...

  8. Redis工具类封装RedisUtils(两种)

    RedisTemplate工具类1 本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需 ...

  9. 动态代理模式_应用(Redis工具类)

    本次使用动态代理的初衷是学习Redis,使用Java操作Redis时用到Jedis的JedisPool,而后对Jedis的方法进一步封装完善成为一个工具类. 因为直接使用Jedis对象时,为了保证性能 ...

最新文章

  1. 如何在CPU上优化GEMM矩阵乘法
  2. 国民技术芯片相关产业研发
  3. TCP/IP详解--学习笔记(7)-广播和多播,IGMP协议
  4. centos mysql5.7主从同步配置_centos7搭建mysql5.7主从同步
  5. 从Gmail故障看SaaS的服务风险
  6. linkedblockingqueue 后 take 不消化_消化不良的成因及护理
  7. Bootstrap3 价格滑动块 price range bootstrap-slider
  8. python概率游戏_看得见概率,可视化讲解概率学基础(附带python代码)
  9. 查看crontab的执行日志
  10. LeetCode之验证二叉搜索树
  11. 同余方程-NOIP2012TGD2T1
  12. 父与子编程之旅第十章pygame下载+安装+pip更新
  13. QQ的DLL文件修改大全!
  14. 【真题21套】计算机二级公共基础知识选择题真题【含解析】
  15. python调用webservice服务
  16. (20)雅思屠鸭第二十天:雅思听力part1中各种场景词的总结
  17. nltk,wordnet安装时出现问题关于omw-1.4
  18. 使用树莓派3B+ 制作一个属于自己的无线AP 无线路由器 一个Wi-Fi热点
  19. 小狗钱钱:钱钱的金钱语录
  20. 家具力学性能测试软件,家具力学性能

热门文章

  1. Docker踩坑笔记 - 解决Docker下载速度超级慢的问题
  2. Ubuntu安装QT Creater和配置
  3. 晋升答辩,leader嫡系拿着我和另一个同事的项目去答辩,关键我们三个人是同一组答辩,这也太恶心了吧?...
  4. 通达信自动交易系统接口安装方式
  5. Repair Pipelining for Erasure-Coded Storage(ATC‘17)
  6. 交通银行23春招 软开 面经
  7. 前端成神之路-阿里百秀
  8. python 表示图论_python与图论的桥梁——igraph
  9. Nginx 网络事件模型
  10. 栈的应用——表达式求值