springboot中集成redis


一:安装redis


honghedeMacBook-Pro:bin honghe$ sudo ./redis-server   启动redis 


查看redis状态(开启新终端)


修改密码


二:springboot中集成

1.引入包

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

2.配置redis

application.xml配置

spring.redis.database=1
spring.redis.host=127.0.0.1
spring.redis.password=123456
spring.redis.port=6379
# 连接超时时间-毫秒值
spring.redis.timeout=3000

代码配置redisTemplate (此处采用代码配置)

/**
 * TODO 类描述
 *
 * @author honghe
 */
@Configuration
public class RedisConfiguration {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @Value("${spring.redis.host}")
    private String host;

    @Value("${spring.redis.port}")
    private int port;

    @Value("${spring.redis.timeout}")
    private int timeout;

    @Value("${spring.redis.password}")
    private String password;

    @Value("${spring.redis.database}")
    private int database;

    /**
     * redis模板,存储关键字是字符串,值是Jdk序列化
     * @Description:
     * @param factory
     * @return
     */
    @Bean
    public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory) {
        RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(factory);
        RedisSerializer<String> redisSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(redisSerializer);
        redisTemplate.setHashKeySerializer(redisSerializer);
        //JdkSerializationRedisSerializer序列化方式;
        JdkSerializationRedisSerializer jdkRedisSerializer=new JdkSerializationRedisSerializer();
        redisTemplate.setValueSerializer(jdkRedisSerializer);
        redisTemplate.setHashValueSerializer(jdkRedisSerializer);
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }
}

三:测试

@RunWith(SpringRunner.class)
@EnableAutoConfiguration
@SpringBootTest
public class SpringbootdemoApplicationTests {

    @Autowired
    StringRedisTemplate stringRedisTemplate;
	@Test
	public void addToRedis() {
        User user = new User();
        user.setSex("男");
        user.setName("admin");
        user.setId(1L);
        stringRedisTemplate.opsForValue().set("user-admin", JSON.toJSONString(user));
        String getRedisByKey = stringRedisTemplate.opsForValue().get("user-admin");
        System.out.println("保存后查询操作:"+getRedisByKey);
	}
    @Test
    public void getByRedis() {
        String getRedisByKey = stringRedisTemplate.opsForValue().get("user-admin");
        System.out.println("保存后查询操作:"+getRedisByKey);
    }
}

终端查看

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[5]> keys *
1) "user-admin"
127.0.0.1:6379[5]> get "user-admin"
"{\"id\":1,\"name\":\"admin\",\"sex\":\"\xe7\x94\xb7\"}"
127.0.0.1:6379[5]> 

猜你喜欢

转载自blog.csdn.net/qq_37642205/article/details/80176052