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]> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章