SpringBoot+Redis

Redis

NoSql,非关系型数据库,支持多种数据类型的存储。

项目地址

https://github.com/Inverseli/SpringBoot-Learning/tree/master/learning3-2-4

note

  • 储存对象需要进行序列化操作,可自定义序列化。
  • 序列化(Object->byte)对象储存的一种方式
  • redis默认端口6379,默认密码为空
  • redis常用配置
# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=5000

RedisConfig

package com.inverseli.learning;

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.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import com.inverseli.learning.domain.User;

/**  
 * @date:2018年9月26日 下午12:27:59    
 * @author liyuhao
 * @version 1.0   
 * @since JDK 1.8  
 * @description:  
 */
@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate template = new RedisTemplate();
        template.setConnectionFactory(redisConnectionFactory);
        RedisSerializer stringSerializer = new StringRedisSerializer();
        template.setKeySerializer(stringSerializer);
        template.setValueSerializer(new RedisObjectSerializer());
        return template;
    }
}
 

踩过的坑

  • 注意依赖的starter版本
  • 对象要实现 Serializable 接口
  • 项目开始之前一定要弄清楚版本问题(重要),要不然越往后越麻烦

你可能感兴趣的:(SpringBoot+Redis)