• 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"));
        }
    }
  • 相关阅读:
    程序员之痛:几千行代码能搞定的为什么要写几万行?
    python基础===新式类与经典类
    python基础===装饰器@property 的扩展
    java===java基础学习(16)---final
    java===java基础学习(15)---抽象,接口
    python基础===继承和多继承
    python基础===类的私有属性(伪私有)
    python基础===创建大量对象是节省内存方法
    java===java习题---Josephu问题
    java===java基础学习(14)---封装
  • 原文地址:https://www.cnblogs.com/xdzy/p/9676525.html
Copyright © 2020-2023  润新知