• java中对Redis的缓存进行操作


     Redis 是一个NoSQL数据库,也是一个高性能的key-value数据库。一般我们在做Java项目的时候,通常会了加快查询效率,减少和数据库的连接次数,我们都会在代码中加入缓存功能。Redis的高效缓存功能给我们解决了难题。下面我主要讲讲在Java项目中怎么去连接Redis服务器以及需要注意的事项。

         1.导入必须的Jar包

           使用Java操作Redis需要两个必须的Jar包:jedis-2.5.1.jar 和  commons-pool2-2.0.jar 。每个版本可以不一样,根据你自己下载的为准。

          2.实现RedisUtils工具类

           把连接Redis服务器的代码封装到一个工具类里面,这样就可以直接调用攻击类来获取Redis的服务。

           RedisUtils工具类代码如下:  以下代码和网上其他的实现类大同小异,其实这个没什么创新的东西。

           下面代码需要注意的地方:config.setMaxTotal(MAX_TOTAL); 由于我的jedis版本是2.5的,所有没有setMaxActive这个方法。

     

    public class RedisUtils {

        //Redis服务器IP
        private static String ADDR = "192.168.125.130";
        
        //Redis的端口号
        private static int PORT = 6379;
        
        //访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
        private static String AUTH = "123456";
        
        //可用连接实例的最大数目,默认值为8;
        private static int MAX_TOTAL = 512;
        
        //控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。
        private static int MAX_IDLE = 50;
        
        //等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。
        private static int MAX_WAIT = 10000;
        
        private static int TIMEOUT = 10000;
        
        //在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
        private static boolean TEST_ON_BORROW = true;
        
        private static JedisPool jedisPool = null;
        
        /**
         * 初始化Redis连接池
         */
        static {
            try {
                JedisPoolConfig config = new JedisPoolConfig();
                config.setMaxTotal(MAX_TOTAL);
                config.setMaxIdle(MAX_IDLE);
                config.setMaxWaitMillis(MAX_WAIT);
                config.setTestOnBorrow(TEST_ON_BORROW);
                jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        /**
         * 获取Jedis实例
         * @return
         */
        public synchronized static Jedis getJedis() {
            try {
                if (jedisPool != null) {
                    Jedis jedis = jedisPool.getResource();
                    return jedis;
                } else {
                    return null;
                }
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
        
        /**
         * 释放jedis资源
         * @param jedis
         */
        public static void returnResource(final Jedis jedis) {
            if (jedis != null) {
                jedisPool.returnResource(jedis);
            }
        }
        
    }

     

         3.进行Redis测试

           接下来就可以进行测试了。一般我们都是用Junit测试工具来测试:测试部分代码如下

     

            @Test
           public void testRedisPool() {
                 RedisUtils.getJedis().set("xiaomin", ”12122“);
                System.out.println(RedisUtils2.getJedis().get("xiaomin"));
            }

            当然了Redis 还能操作List, Set,SortSeted,Hash等数据类型的数据,这些就留给你自己慢慢去学习了。今天就话说到了这。

  • 相关阅读:
    小程序 中 自定义单选框样式
    自定义checkbox和radio的样式
    postgre修改字段数据类型
    xpat如何获取一个标签里的属性值
    一看就明白的爬虫入门讲解:基础理论篇
    第一天
    poj 1979 走多少个‘ . '问题 dfs算法
    ACM 贪心算法总结
    poj 2393 奶牛场生产成本问题 贪心算法
    poj 3262 牛毁坏花问题 贪心算法
  • 原文地址:https://www.cnblogs.com/baihaojie/p/5981339.html
Copyright © 2020-2023  润新知