zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Account group in ERP and its mapping relationship with CRM partner group
    错误消息Number not in interval XXX when downloading
    错误消息Form of address 0001 not designated for organization
    Algorithm类介绍(core)
    梯度下降与随机梯度下降
    反思
    绘图: matplotlib核心剖析
    ORB
    SIFT
    Harris角点
  • 原文地址:https://www.cnblogs.com/liyasong/p/redis_ceshi.html
Copyright © 2011-2022 走看看