springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
2023-09-27 14:26:40 时间
文章目录
1、前提条件:确保虚拟机开启、并且连接到redis
2、新建立一个springboot项目,创建项目时勾选web选项
3、在pom中引入redis依赖
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- spring2.X集成redis所需common-pool2-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
4、在application.properties中尽心redis的配置
#Redis服务器地址
spring.redis.host=【配置的虚拟机地址】
#Redis服务器连接端口
spring.redis.port=6379
#Redis服务器密码
spring.redis.password=123456【没有设置redis的密码可以省略】
#Redis数据库索引(默认为0)
spring.redis.database= 0
#连接超时时间(毫秒)
spring.redis.timeout=1800000
#连接池最大连接数(使用负值表示没有限制)
spring.redis.lettuce.pool.max-active=20
#最大阻塞等待时间(负数表示没限制)
spring.redis.lettuce.pool.max-wait=-1
#连接池中的最大空闲连接
spring.redis.lettuce.pool.max-idle=5
#连接池中的最小空闲连接
spring.redis.lettuce.pool.min-idle=0
5、增加redis配置类
@EnableCaching
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
RedisSerializer<String> redisSerializer = new StringRedisSerializer();
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
template.setConnectionFactory(factory);
//key序列化方式
template.setKeySerializer(redisSerializer);
//value序列化
template.setValueSerializer(jackson2JsonRedisSerializer);
//value hashmap序列化
template.setHashValueSerializer(jackson2JsonRedisSerializer);
return template;
}
@Bean
public CacheManager cacheManager(RedisConnectionFactory factory) {
RedisSerializer<String> redisSerializer = new StringRedisSerializer();
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
//解决查询缓存转换异常的问题
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
// 配置序列化(解决乱码的问题),过期时间600秒
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()
.entryTtl(Duration.ofSeconds(600))
.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer))
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer))
.disableCachingNullValues();
RedisCacheManager cacheManager = RedisCacheManager.builder(factory)
.cacheDefaults(config)
.build();
return cacheManager;
}
}
6、测试类
@RestController
@RequestMapping("/redisTest")
public class RedisTestController {
@Autowired
private RedisTemplate redisTemplate;
@GetMapping
public String testRedis() {
//设置值到redis
redisTemplate.opsForValue().set("name","mask");
//从redis获取值
String name = (String)redisTemplate.opsForValue().get("name");
return name;
}
}
7、测试结果
相关文章
- linux 安装redis,mysql,netcore
- linux下Redis以及c++操作
- linux输入法
- 分布式缓存技术redis学习(一)——redis简介以及linux上的安装
- 38分布式电商项目 - Linux下安装Redis
- linux selinux策略管理与标签
- Linux有问必答:如何使用Linux命令行检测DVD刻录机的名字和读写速度
- Linux有问必答:如何在虚拟机上配置PCI直通
- Linux 平台下 Python 脚本编程入门(二)
- CentOS7 linux下yum安装redis以及使用
- linux下nginx php配置redis
- linux下apache php配置redis
- redis-windows和linux下安装
- linux都有哪些运行级别?
- Linux下安装Redis
- 第7章 Linux上配置RAID
- Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动
- Linux内核 结构 struct urb
- linux 之 redis单机安装
- centos7安装mysql5.7.4(rpm安装版)与 MySQL5.7.4glibc版Linux安装
- 【Redis】01-如何在Linux下安装Reids保姆级教程
- linux系统安装redis服务器与php redis扩展
- Linux的samba服务
- 大数据框架命令集合(Linux、Shell、Hadoop、Zookeeper、Kafka、Hive、Redis、Flink)
- linux安装redis
- Linux内核的 pinctrl 和 gpio 子系统
- 基于redis ae实现 Linux中的文件系统监控机制(inotify)
- Linux Cenos 以RPM方式安装 redis
- Linux中最常用命令的归纳
- Redis学习系列一Linux环境搭建
- Linux下搭建nginx php环境
- Linux之用户管理
- 简单linux查询