redis-如何在工程中使用redis

    这里,我们介绍下如何使用redis作为缓存服务器使用在我们的工程中。

  使用思路

    对于java中的使用redis提供了一个jedis的jar包。我们在安装好我们的redis服务器以后,只需要通过redis提供的jra包的相应方法进行访问就可以得到数据了。为了尽可能的简单,我们就实现用java代码实现对redis的添加和读取。

  创建工程

    首先是创建一个测试的工程

    

    然后,创建一个lib目录引入jar包,我引入的jar包是2.7.2的包,这是一个客户端链接redis的包,同学可以自行从网上下载相应的jar包。

    然后将这个jar包进行build path,然后得到的项目列表如下图:

     

    在我们的jar包引入完成后,就是测试代码的编写了。

  测试

     首先我们创建一个测试的jar包(写不写都行,但是个人习惯把所有的代码都写在包里面),然后写一个jedisTest类。我直接把代码粘上来,具体说明写在代码注释中吧。

    

 1 package cn.test;
 2 
 3 import org.junit.Test;
 4 
 5 import redis.clients.jedis.Jedis;
 6 
 7 public class JedisTest {
 8     //书写测试类
 9     @Test
10     public void TestJedis(){
11         //创建jedis对象,相当于创建了一个客户端和reidis服务器的链接。需要ip和端口号,IP就是安装有redis服务的linux服务器的地址,端口号默认为6379
12         Jedis jedis= new Jedis("192.168.37.161",6379);
13         //ping redis服务器,这是它的一个方法,如果服务正常,会回复一个pong
14         String pong = jedis.ping();
15         System.out.println("如果服务器可用请返回pong,谢谢合作:"+pong);
16         //先用第一个键去取一次值,这个时候redis中没有数据返回应该是空的。
17         String value = jedis.get("key");
18         System.out.println("第一次访问的时候取到的值="+value);
19         //将数据存入reidis服务器中
20         jedis.set("key","第一次存入的值");
21         //将数据取出
22         value = jedis.get("key");
23         System.out.println("存入相应的值以后取到的值="+value);
24         //关闭和redis的链接
25         jedis.close();
26     }
27     
28 }
View Code

    测试代码运行完的结果如下:

    

   redis的连接池

    我们刚才也看到了,我们的redis的链接每次都需要创建链接和关闭链接,这是很浪费资源的,所以,我们redis也有链接池的技术。以下为使用连接池的时候的代码,跟之前的测试代码相当类似,这里就不再赘述了。

  
 1 public class JedisPoolTest {
 2 
 3     public static void main(String[] args) {
 4         // 1. 创建连接池JedisPool
 5         JedisPool jedisPool = new JedisPool("192.168.37.161", 6379);
 6 
 7         // 2. 从连接池获取连接jedis
 8         Jedis jedis = jedisPool.getResource();
 9 
10         // 3. 使用连接jedis操作redis
11         jedis.select(2);
12 
13         String pong = jedis.ping();
14         System.out.println(pong);
15 
16         String key = "jedisPoll";
17         String setResult = jedis.set(key, "hello redis!");
18         System.out.println(setResult);
19 
20         String getResult = jedis.get(key);
21         System.out.println(getResult);
22 
23         // 4.释放资源,每次用完jedis连接,必须close(),指的就是还回连接池
24         jedis.close();
25 
26         // 程序结束,销毁连接池
27         jedisPool.close();
28     }
29 }
View Code
原文地址:https://www.cnblogs.com/liyasong/p/redis_ceshi.html