首页 > 编程语言 > 详细

SpringBoot 使用redis

时间:2020-06-12 18:22:01      阅读:48      评论:0      收藏:0      [点我收藏+]

1.本地安装redis

  • 首先给本机电脑下载一个redis,下载地址:
https://github.com/tporadowski/redis/releases。
  • 将下载的压缩包解压到文件夹,打开文件夹目录如下
    技术分享图片

2.设置redis密码

  • 直接启动redis-server.exe,会发现redis报警告未指定默认配置文件

技术分享图片

  • 这个时候我们先把redis退出来然后在redis安装目录打开cmd窗口运行redis-server.exe redis.windows.conf指令

技术分享图片

  • 运行完之后我们再看启动的redis已经不报警告了,说明redis.windows.conf配置文件已经启用

技术分享图片

  • 但是我们每次打开都要先打开cmd窗口再执行redis-server.exe redis.windows.conf指令太过麻烦在。所以,我们可以在redis安装目录下,创建一个txt文件后,
    打开并输入刚才的redis-server.exe redis.windows.conf命令,关闭,将文件改为bat即可,以后开启服务直接双击这个批处理文件即可,这样就会redis服务就会调用自己设置的配置了

技术分享图片

  • 接下来我们来设置redis密码,我们指定了redis.windows.conf文件作为配置文件,就在该文件里找到requirepass字段修改方式:requirepass 你的密码

技术分享图片

  • 设置完密码直接启动redis.bat文件,redis的密码就设置好了

3.pom文件引入redis依赖

<!--配置Jedis连接器-->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.3</version>
</dependency>
<!--redis依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

4.JedisPool连接池链接redis

  • 为什么要引入JedisPool?

    • 首先我们如果每次使用缓存都生成一个Jedis对象的话,这样意味着会建立很多socket连接,造成系统资源被不可控调用,甚至会导致奇怪错误的发生。

如果使用单例模式,在线程安全模式下适应不了高并发的需求,非线程安全模式又可能会出现与时间相关的错误。因此,为了避免这些问题,引入了池的概念JedisPool。

JedissPool是一个线程安全的网络连接池,我们可以通过JedisPool创建和管理Jedis实例,这样可以有效的解决以上问题以实现系统的高性能。

  • RedisUtil工具类
import com.example.backstage.util.ValidatorUtil;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.List;
import java.util.Map;

public class RedisUtil {

    private static JedisPool pool = null;

    /**
     * 获取jedis连接池
     */
    public static JedisPool getPool(){
        if(pool == null){
            //创建jedis连接池配置
            JedisPoolConfig config = new JedisPoolConfig();
            //最大连接数
            config.setMaxTotal(100);
            //最大空闲连接-
            config.setMaxIdle(5);
            //创建redis连接池
            pool = new JedisPool(config, "127.0.0.1",
                    6379, 5000, "******");
        }
        return pool;
    }
     /**
     * 获取给定 key 的值
     * @param key
     * @return
     */
    public static String get(String key){
        Jedis jedis = getPool().getResource();
        String result = jedis.get(key);
        jedis.close();
        return result;
    }

     /**
     * 设置给定 key 的值
     * @param key
     * @param value
     * @return
     */
    public static String set(String key,String value){
        Jedis jedis = getPool().getResource();
        String result = jedis.set(key,value);
        jedis.close();
        return result;
    }
}
  • 测试一下set get

技术分享图片

运行结果:

技术分享图片

redis连接成功!

SpringBoot 使用redis

原文:https://www.cnblogs.com/lin127/p/13102292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!