java对Redis的缓存进行操作入门级

xiaoxiao2021-02-27  337

 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"));         }

转载请注明原文地址: https://www.6miu.com/read-2309.html

最新回复(0)