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类。我直接把代码粘上来,具体说明写在代码注释中吧。


package cn.test;

import org.junit.Test;

import redis.clients.jedis.Jedis;

public class JedisTest {
    //书写测试类
    @Test
    public void TestJedis(){
        //创建jedis对象,相当于创建了一个客户端和reidis服务器的链接。需要ip和端口号,IP就是安装有redis服务的linux服务器的地址,端口号默认为6379
        Jedis jedis= new Jedis("192.168.37.161",6379);
        //ping redis服务器,这是它的一个方法,如果服务正常,会回复一个pong
        String pong = jedis.ping();
        System.out.println("如果服务器可用请返回pong,谢谢合作:"+pong);
        //先用第一个键去取一次值,这个时候redis中没有数据返回应该是空的。
        String value = jedis.get("key");
        System.out.println("第一次访问的时候取到的值="+value);
        //将数据存入reidis服务器中
        jedis.set("key","第一次存入的值");
        //将数据取出
        value = jedis.get("key");
        System.out.println("存入相应的值以后取到的值="+value);
        //关闭和redis的链接
        jedis.close();
    }
    
}

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

    

   redis的连接池

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

public class JedisPoolTest {


    public static void main(String[] args) {
        // 1. 创建连接池JedisPool
        JedisPool jedisPool = new JedisPool("192.168.37.161", 6379);


        // 2. 从连接池获取连接jedis
        Jedis jedis = jedisPool.getResource();


        // 3. 使用连接jedis操作redis
        jedis.select(2);


        String pong = jedis.ping();
        System.out.println(pong);


        String key = "jedisPoll";
        String setResult = jedis.set(key, "hello redis!");
        System.out.println(setResult);


        String getResult = jedis.get(key);
        System.out.println(getResult);


        // 4.释放资源,每次用完jedis连接,必须close(),指的就是还回连接池
        jedis.close();


        // 程序结束,销毁连接池
        jedisPool.close();
    }
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在maven工程配置Redis的哨兵模式,需要进行以下配置: 1. 首先,在pom.xml文件引入Redis的依赖包。可以使用以下maven坐标引入依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> ``` 这些依赖包将提供Redis的相关功能和操作。 2. 在application.properties或application.yml配置文件,添加Redis的哨兵模式配置。以下是一个示例配置: ```properties spring.redis.sentinel.master=masterName spring.redis.sentinel.nodes=host1:port1,host2:port2,host3:port3 ``` 其,`masterName`是Redis的主节点名称,`host1:port1,host2:port2,host3:port3`是哨兵节点的地址列表。 3. 在Java代码,可以使用Spring Data Redis提供的RedisTemplate或者Jedis来操作Redis。可以通过注入RedisTemplate或者JedisPool来获取Redis连接,并进行相应的操作。 需要注意的是,以上配置仅适用于使用Spring Boot和Spring Data Redis的maven工程。如果使用其他框架或者纯Java工程,配置方式可能会有所不同。 #### 引用[.reference_title] - *1* *3* [Redis单机模式主从模式哨兵模式集群模式搭建](https://blog.csdn.net/weixin_44023129/article/details/130591004)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [springboot整合redis哨兵模式](https://blog.csdn.net/qq_31960623/article/details/131173900)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值