最开始学习redis是在redis-cli界面中写指令连写的,但最终还是要在SpringBoot项目中运用,所以了解完基本指令之后就可以在项目中进行练习了。本例以最基础的String数据类型为例进行练习,之后可以再自行学习练习其他集中数据类型的操作方法。
- pom.xml中添加redis注解
<!--redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
- yml中配置redis
redis:
#数据库索引
database: 7
host: 127.0.0.1
port: 6379
password:
#连接超时时间(ms)
timeout: 5000
# 自定义redis默认过期时间(单位:时)
expire-time: 24
jedis:
pool:
# 连接池最大连接数(使用负值表示没有限制)
max-active: -1
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
- 编写工具类
@Component
public class StringUtils {
/** redisTemplate类 */
@Autowired
private RedisTemplate<String, String> redisTemplate;
/**
* 获取value
* @param
* @return
*/
public String getString(final String key) {
return redisTemplate.opsForValue().get(key);
}
/**
* 设置value
* @param key
* @param value
* @return
*/
public boolean setString(final String key, String value) {
boolean result = false;
try {
redisTemplate.opsForValue().set(key, value);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 更新value
* @param key
* @param value
* @return
*/
public boolean updateString(final String key, String value) {
boolean result = false;
try {
redisTemplate.opsForValue().getAndSet(key, value);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 删除key
* @param key
* @return
*/
public boolean delString(final String key) {
boolean result = false;
try {
redisTemplate.delete(key);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
- 编写测试类
@SpringBootTest
class AiApplicationTests {
@Autowired
private StringUtils stringUtils;
/**
* 测试设置和获取value
*/
@Test
void test1() {
Boolean result = null;
result = stringUtils.setString("name", "jack");
System.out.println("是否写入成功:" + result);
System.out.println("看看读取:" + stringUtils.getString("name"));
}
/**
* 删除key
*/
@Test
void test2() {
Boolean result = null;
result = stringUtils.delString("name");
System.out.println("是否删除成功:" + result);
System.out.println("看看读取:" + stringUtils.getString("name"));
}
/**
* 更新value
*/
@Test
void test3() {
Boolean result = null;
result = stringUtils.updateString("name", "rose");
System.out.println("是否更新成功:" + result);
System.out.println("看看读取:" + stringUtils.getString("name"));
}
}