datasource:
druid:
driver-class-name: ${sky.datasource.driver-class-name}
url: jdbc:mysql://${sky.datasource.host}:${sky.datasource.port}/${sky.datasource.database}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: ${sky.datasource.username}
password: ${sky.datasource.password}
# redis数据连接
redis:
host: ${sky.redis.host}
port: ${sky.redis.port}
password: ${sky.redis.password}
database: ${sky.redis.database}
sky: datasource: driver-class-name: com.mysql.cj.jdbc.Driver host: localhost port: 3306 database: sky_take_out username: root password: 123456 redis: host: localhost port: 6379 password: 123456 database: 10
- package com.sky.config;
-
- import lombok.extern.slf4j.Slf4j;
- 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.StringRedisSerializer;
-
- @Configuration
- @Slf4j
-
- public class RedisConfiguration {
- @Bean
- public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
- log.info("开始创建redis");
- RedisTemplate redisTemplate = new RedisTemplate();
- // 设置redis的连接工厂对象
- redisTemplate.setConnectionFactory(redisConnectionFactory);
- // 设置redis key的序列化器
- redisTemplate.setKeySerializer(new StringRedisSerializer());
- return redisTemplate;
- }
- }
说明:编写测试类
- package com.sky.test;
-
- import org.junit.jupiter.api.Test;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.data.redis.core.*;
-
- import java.sql.Time;
- import java.util.concurrent.TimeUnit;
-
- @SpringBootTest
- public class SpringDataRedisTest {
- @Autowired
- private RedisTemplate redisTemplate;
-
- @Test
- public void testRedisTemplate() {
- System.out.println(redisTemplate);
- ValueOperations valueOperations = redisTemplate.opsForValue();
- HashOperations hashOperations = redisTemplate.opsForHash();
- ListOperations listOperations = redisTemplate.opsForList();
- SetOperations setOperations = redisTemplate.opsForSet();
- }
-
- /*操作字符串类型的数据
- *
- * */
-
- @Test
- public void testString() {
- //set get setex setnx
- redisTemplate.opsForValue().set("city", "北京");
- String city = (String) redisTemplate.opsForValue().get("city");
- System.out.println(city);
- redisTemplate.opsForValue().set("code","1234",3, TimeUnit.MINUTES);
- // setnx
- redisTemplate.opsForValue().setIfAbsent("lock","1");
- redisTemplate.opsForValue().setIfAbsent("lock","2");
- }
- }
