中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

springboot~內嵌redis的使用(yong)

對(dui)于單元(yuan)測試(shi)來說,我們應該讓(rang)它盡量保持(chi)單一(yi)環(huan)境(jing),不要(yao)與網絡資源相通訊,這樣可(ke)以保證測試(shi)的穩定性(xing)與客觀(guan)性(xing),對(dui)于springboot這個框(kuang)架來說,它集成了單元(yuan)測試(shi)JUNIT,同時在設計項目時,你可(ke)以使用多種內嵌的存儲工具,像mongodb,redis,mysql等等,今天主要(yao)說一(yi)下(xia)embedded-redis的使用。

添加包引用build.gradle

 testCompile(
            'com.github.kstyrc:embedded-redis:0.6'
    )

添加配置注入


import org.springframework.beans.factory.annotation.Autowired;
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.HashOperations;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.SetOperations;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

@Configuration
public class RedisConfig { /** * 注入 RedisConnectionFactory */ @Autowired RedisConnectionFactory redisConnectionFactory; /** * 實例化 RedisTemplate 對象 * * @return */ @Bean public RedisTemplate<String, Object> functionDomainRedisTemplate() { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();  initDomainRedisTemplate(redisTemplate, redisConnectionFactory); return redisTemplate; } /** * 設置(zhi)數據存入 redis 的序列化方式 * * @param redisTemplate * @param factory */ private void initDomainRedisTemplate(RedisTemplate<String, Object> redisTemplate, RedisConnectionFactory factory) { redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setHashKeySerializer(new StringRedisSerializer()); redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer()); redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer()); redisTemplate.setConnectionFactory(factory); } /** * 實例化(hua) HashOperations 對象,可以(yi)使用 Hash 類型操作 * * @param redisTemplate * @return */ @Bean public HashOperations<String, String, Object> hashOperations(RedisTemplate<String, Object> redisTemplate) { return redisTemplate.opsForHash(); } /** * 實例(li)化 ValueOperations 對象,可以使用 String 操(cao)作(zuo) * * @param redisTemplate * @return */ @Bean public ValueOperations<String, Object> valueOperations(RedisTemplate<String, Object> redisTemplate) { return redisTemplate.opsForValue(); } /** * 實例化 ListOperations 對象,可(ke)以使用 List 操作 * * @param redisTemplate * @return */ @Bean public ListOperations<String, Object> listOperations(RedisTemplate<String, Object> redisTemplate) { return redisTemplate.opsForList(); } /** * 實例化 SetOperations 對(dui)象,可(ke)以使用 Set 操(cao)作 * * @param redisTemplate * @return */ @Bean public SetOperations<String, Object> setOperations(RedisTemplate<String, Object> redisTemplate) { return redisTemplate.opsForSet(); } /** * 實例化 ZSetOperations 對(dui)象,可以(yi)使用(yong) ZSet 操(cao)作 * * @param redisTemplate * @return */ @Bean public ZSetOperations<String, Object> zSetOperations(RedisTemplate<String, Object> redisTemplate) { return redisTemplate.opsForZSet(); } }

在業務層中(zhong)使用redis

  @Autowired
  RedisTemplate<String, Object> redisCacheTemplate;

在使用過程中,我們的RedisTemplate對象已經被Autowired注入了(le)。

感謝閱讀!

posted @ 2018-05-29 12:01  張占嶺  閱讀(4448)  評論(0)    收藏  舉報