项目描述
上传时间
浏览人数
一. Redis的安装
1. 安装包内有两个文件
2. 先安装Redis服务程序,解压到C盘的新建Redis文件夹内
3. 打开Widow命令提示符(cmd),进入C盘新建立的Redis文件夹,
输入redis-server.exe --service-install redis.windows.conf
如图显示,即为安装成功!
4. 右键我的电脑,点击管理进入下面界面,选择左侧服务选项,找到Redis双击打开,启动类型选择自动,点击启动,即可运行Redis服务
5. 安装Redis可视化工具(一路点击确认即可),成功后如下图所示
6.点击左下角红色框内的按钮,新建Redis服务.Name无要求,Host填写idea启动域名,Port端口固定是6379
7.结构(类似MySql): wizenrad为库名;db2为表名(按索引);name是存值的key;values为存的值(下图为存入数据后的状态)
二.在IDEA里配置Redis
1.在pom.xml内添加依赖
注:Fastjson是一个java库,可以将java对象转换为JSON格式,也可将JSON格式转换为java对象
<!--redis技术依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- fastjson依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
2.在application.properties内添加配置文件
# redis配置
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
spring.redis.database=0
Host为IDEA启动域名;Port为固定端口6379;不需要密码;database是要选择存值的表,按照索引选择
3.建立配置包,创建配置类
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
// 使用Jackson2JsonRedisSerialize 替换默认序列化
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
// 设置value的序列化规则和 key的序列化规则
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
4.创建Controller层和Service层测试一下
Controller层代码如下:
@RestController
@RequestMapping("matc")
public class MyAdminTestController {
@Autowired
private RedisService redisService;
@GetMapping("aaa")
public String aaa(){
redisService.setDataByRedisCache("name","水晶之恋~~~");
return "666";
}
}
Service层代码如下:
Service:
@Service
public interface RedisService {
//保存数据
boolean setDataByRedisCache(final String key, Object val);
}
ServiceImpl:
@Service
public class RedisServiceImpl implements RedisService {
@Autowired
private RedisTemplate redisTemplate;
@Override
public boolean setDataByRedisCache(String key, Object val) {
try{
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, val);
return true;
}catch (Exception e){
return false;
}
}
}
5.成功存入数据