文章目录
下载、安装、启动
下载压缩包,解压
启动测试
客户端配置
项目中使用redis
1、引入redis依赖
<!--redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、配置redis环境
application.yml
spring:
profiles:
active: dev
application-dev.yml
server:
port: 8888
servlet:
context-path: /dev
spring:
application:
name: token
main:
allow-bean-definition-overriding: true
thymeleaf:
cache: false
prefix: classpath:/templates/
suffix: .html
web:
resources:
static-locations: classpath:/static
redis:
host: 127.0.0.1
port: 6379
database: 0
timeout: 2000
jedis:
pool:
max-active: 20
max-wait: -1
max-idle: 10
min-idle: 0
password: root
3、Redis配置类
RedisConfig.java
package com.song.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
/**
* 序列化键,值
* @param connectionFactory
* @return
*/
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory);
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
StringRedisSerializer redisSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(redisSerializer);//键 --> 字符串
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);//值序列化为json格式
/*redisTemplate.setHashKeySerializer();
redisTemplate.setHashValueSerializer();*/
return redisTemplate;
}
}
Redis测试
2.
4.
RedisTemplateTest.java
package com.song.redis;
import com.song.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.util.*;
@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTemplateTest {
@Resource
private RedisTemplate redisTemplate;
@Resource
private StringRedisTemplate stringRedisTemplate;
/**
* 缓存对象 key:String value:String
*/
@Test
public void test(){
redisTemplate.opsForValue().set("a","aaa");
System.out.println(redisTemplate.opsForValue().get("a"));
redisTemplate.delete("a");
}
/**
* 缓存对象 key:String value:List<String>
*/
@Test
public void test2(){
stringRedisTemplate.opsForValue().set("b", "bbb");
System.out.println(stringRedisTemplate.opsForValue().get("b"));
stringRedisTemplate.delete("b");
}
/**
* 缓存对象 key:String value:List<String>
*/
@Test
public void test3(){
String dictType = "matGroup";
List<String> list = new ArrayList<>();
list.add("group1");
list.add("group2");
list.add("group3");
redisTemplate.opsForValue().set(dictType, list);
System.out.println(redisTemplate.opsForValue().get("matGroup"));
stringRedisTemplate.delete("matGroup");
}
/**
* 缓存对象 key:String value:List<Object>
*/
@Test
public void test4(){
String dictType = "user";
List<Object> list = new ArrayList<>();
User user1 = new User("小宋","女");
User user2 = new User("小王","女");
User user3 = new User("小李","女");
list.add(user1);
list.add(user2);
list.add(user3);
redisTemplate.opsForValue().set(dictType, list);
System.out.println(redisTemplate.opsForValue().get("user"));
redisTemplate.delete("user");
}
}
扩展知识:
<!--redisson-->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.16.6</version>
</dependency>
Another Redis Desktop Manager免费redis可视化工具
下载链接:https://gitee.com/qishibo/AnotherRedisDesktopManager/releases
下载安装,连接本地redis即可使用