前言:一直想用一个简单的连接Redis的Java工具,那就出现了Jedis,当我还没开始使用Jedis的时候,就听说了Hutool发现Hutool的使配置连接NoSql的Redis缓存变得简单(最起码是在我看来的)
原因:想用一个操作Redis不需要太多配置的工具类
实现
1:先导入Hutool依赖的坐标
<dependency>
<groupId></groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
2:导入Jedis依赖的坐标
<dependency>
<groupId></groupId>
<artifactId>jedis</artifactId>
<version>4.3.2</version>
</dependency>
3:导入
host = localhost
port = 6379
timeout = 2000
connectionTimeout = 2000
soTimeout = 2000
database = 0
clientName = Hutool
ssl = false;
[custom]
host = localhost
BlockWhenExhausted = true;
evictionPolicyClassName = .
jmxEnabled = true;
lifo = true;
maxIdle = 8
minIdle = 0
maxTotal = 8
maxWaitMillis = -1
minEvictableIdleTimeMillis = 1800000
numTestsPerEvictionRun = 3;
SoftMinEvictableIdleTimeMillis = 1800000
testOnBorrow = false
testWhileIdle = false
timeBetweenEvictionRunsMillis = -1
4:配置完这些之后创建一个JavaBean来帮你创建Jedis对象
import cn.hutool.db.nosql.redis.RedisDS;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.Jedis;
@Configuration
public class JedisConfig {
@Bean
public Jedis getJedis() {
return RedisDS.create().getJedis();
}
}
5:创建好了之后就可以进行测试了下面是测试代码(里面有我自己设置的返回数据类R),代码中使用了Knife4j接口文档
import com.xssq.utils.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import redis.clients.jedis.Jedis;
@RestController
@RequestMapping("/TestJedis")
@Api(tags = "redis测试Controller")
public class TestJedis {
@Autowired
private Jedis jedis;
@GetMapping("/setJedis")
@ApiOperation("使用Jedis存入数据到redis")
public R testSetJedis() {
try {
jedis.set("1212", "redis存入去除这么简单");
} catch (Exception e) {
System.out.println(e);
return R.fail("redis存入失败");
}
return R.ok("存入成功");
}
@GetMapping("/getJedis")
@ApiOperation("使用Jedis从redis获取数据")
public R testGetJedis() {
String s = null;
try {
s = jedis.get("1212");
} catch (Exception e) {
System.out.println(e);
return R.fail("redis取出失败");
}
return R.ok(s,"获取成功");
}
6:测试结果
{
"code": 200,
"msg": "操作成功",
"data": "存入成功"
}
{
"code": 200,
"msg": "获取成功",
"data": "redis存入去除这么简单"
}
7:测试成功