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连接成功!
1.设置密码:打开redis-cli.exe运行命令 config set requirepass kaige123
2.查询密码:config get requirepass
3.验证:auth kaige123
4.再次查询密码:config get requirepass