制作网站公司首 荐乐云seo,公司网站建设浩森宇特,网站推广有哪些公司可以做,纺织网站建设前言 Redis是一个由Salvatore Sanfilippo写的key-value存储系统。 edis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库#xff0c;并提供多种语言的API。 通常被称为数据结构服务器#xff0c;因为值#xff08;va…前言 Redis是一个由Salvatore Sanfilippo写的key-value存储系统。 edis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库并提供多种语言的API。 通常被称为数据结构服务器因为值value可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 Redis官网Redis中文社区
正文
引入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency需要注意的是上面是 Spring Boot 1.5 版本后的名称1.5版本前是 spring-boot-starter-redis。 参数配置
spring:redis:host: 192.168.19.200 # host ,默认 localhostport: 6379 # 端口号默认6379pool:# 设置都是默认值可以按需求设计max-active: 8 # 可用连接实例的最大数目默认值为8如果赋值为-1则表示不限制max-idle: 8 # 控制一个pool最多有多少个状态为idle(空闲的)的redis实例默认值也是8。max-wait: -1 # 等待可用连接的最大时间单位毫秒默认值为-1表示永不超时。min-idle: 0 # 控制一个pool最少有多少个状态为idle(空闲的)的redis实例默认值为0。timeout: 0 # 连接超时时间 单位 ms默认为0password: master # 密码根据自己的 redis 设计默认为空使用
在 配置类 中注册一个 RedisTemplate 用来支持序列化和反序列化:
Configuration
public class RedisConfig {Beanpublic RedisTemplateString, String redisTemplate(RedisConnectionFactory factory) {StringRedisTemplate template new StringRedisTemplate(factory);// 使用 Jackson2JsonRedisSerializer 进行序列化它继承 RedisSerializerJackson2JsonRedisSerializer 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.setValueSerializer(jackson2JsonRedisSerializer);template.afterPropertiesSet();return template;}}测试使用
SpringBootTest
RunWith(SpringRunner.class)
public class RedisTest {Autowiredprivate StringRedisTemplate stringRedisTemplate;Autowiredprivate RedisTemplate redisTemplate;Testpublic void test() {stringRedisTemplate.opsForValue().set(id, 1);Assert.assertEquals(1, stringRedisTemplate.opsForValue().get(id));}/*** 测试存储对象redis 需要对对象进行序列化取出对象数据后比对又要进行反序列化* 所以注册了 RedisTemplate 专门处理这类情况*/Testpublic void test1() {SysUserEntity sysUserEntity new SysUserEntity();sysUserEntity.setId(2L);sysUserEntity.setEmail(kwuwii.com);ValueOperationsString, SysUserEntity operations redisTemplate.opsForValue();operations.set(user1, sysUserEntity);Assert.assertThat(sysUserEntity, Matchers.equalTo(operations.get(user1)));}}Spring Data Redis 使用文档