zoukankan      html  css  js  c++  java
  • Redis连接工具类

    Redis连接工具类

    导包

     

    测试一下(junit)

    package com.test;
    
    import org.junit.Test;
    import redis.clients.jedis.Jedis;
    
    /**
     * @author: 肖德子裕
     * @date: 2018/9/19 15:00
     * @description: 测试redis数据库的使用
     * redis的持久化操作
     * 1)RDB:快照方式将数据从内存保存到磁盘,仿佛以照片方式保存;
     * 优势:无需配置;劣势:按时间点保存,如果服务器挂了,只能恢复到上一个时间点
     * 2)AOF:以日志方式保存数据,连操作步骤也保存
     * 优势:及时保存数据;劣势:日志里的步骤都会执行
     */
    public class redisTest {
        @Test
        //通过java程序获取单一的Jedis对象操作数据库
        public void test(){
            //获取连接对象
            Jedis jedis=new Jedis("localhost",6379);
    
            //连接远程或者虚拟机的redis;记得开放端口
            //Jedis jedis=new Jedis("IP地址",6379);
    
            //存储数据
            jedis.set("username","xdzy");
            //获取数据
            System.out.println(jedis.get("username"));
        }
    }

    Redis连接池(一个redis.properties资源文件)

    redis.maxIdle=30
    redis.minIdle=10
    redis.maxTotal=50
    redis.url=localhost
    redis.port=6379

      

    写个工具类方便以后用

    package com.utils;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    import java.io.InputStream;
    import java.util.Properties;
    
    /**
     * @author: 肖德子裕
     * @date: 2018/9/19 15:28
     * @description: 获取jedis对象的工具
     */
    public class JedisPoolUtils {
        //设置连接池
        private static JedisPool pool=null;
    
        //静态代码块获取连接池
        static {
            //加载配置文件
            InputStream in=JedisPoolUtils.class.getClassLoader().getResourceAsStream("com/redis.properties");
            Properties pro=new Properties();
            try{
                pro.load(in);
            }catch (Exception e){
                e.printStackTrace();
            }
    
            //创建连接池的配置对象
            JedisPoolConfig poolConfig=new JedisPoolConfig();
            //最大闲置个数
            poolConfig.setMaxIdle(Integer.parseInt(pro.get("redis.maxIdle").toString()));
            //最小闲置个数
            poolConfig.setMinIdle(Integer.parseInt(pro.get("redis.minIdle").toString()));
            //最大连接数
            poolConfig.setMaxTotal(Integer.parseInt(pro.get("redis.maxTotal").toString()));
            //创建一个Redis的连接池
            pool=new JedisPool(poolConfig,pro.getProperty("redis.url"),Integer.parseInt(pro.get("redis.port").toString()));
        }
    
        //获取jedis对象
        public static Jedis getJedis(){
            return pool.getResource();
        }
    
        public static void main(String[] args) {
            Jedis jedis=getJedis();
            //存储数据
            jedis.set("username","xdzy");
            //关闭redis软件,数据就没有了
            System.out.println(jedis.get("username"));
        }
    }
  • 相关阅读:
    exit()和_exit()的比较(与前一篇日志行缓冲区有关)
    标准IO缓冲详解全缓冲、行缓冲、不缓冲
    windows与unix/linux下输入回车换行的区别
    strtok()的用法
    头文件的处理
    feof()出现的问题及解决办法
    测试题
    视觉十四讲:第十二讲_八叉树地图
    树莓派4B安装OPENCV4.0
    编译OpenCV以及openc_contrib提示缺少boostdesc_bgm.i文件出错的解决
  • 原文地址:https://www.cnblogs.com/xdzy/p/9676525.html
Copyright © 2011-2022 走看看