日更挑战-cloud组件使用简单复习之-Redis

2021-05-29  本文已影响0人  愿你我皆是黑马

越不懂的越爱装
大家都同等:IT世界没有难不难,只有是否了解过

挑战目录

如何在Springboot中使用Redis进行缓存

依赖及yml配置
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
# 配置redis以及cache
spring:
  redis:
    host: 127.0.0.1
    port: 6379
    password:
    timeout: 10000 #连接超时时间

缓存配置:
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory){
 RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
      redisTemplate.setConnectionFactory(factory);
      // 创建json序列化对象
      GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
      // 设置key序列化String
      redisTemplate.setKeySerializer(new StringRedisSerializer());
      // 设置value序列化 json
      redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
      // 设置hash key序列化String
      redisTemplate.setHashKeySerializer(new StringRedisSerializer());
      // 设置hash value 序列化json
      redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);
      // 初始化redis完成序列化的方法
      redisTemplate.afterPropertiesSet();
      return redisTemplate;
  }

缓存操作

SpEL表达式

CachePut专有SpEL表达式:

上述表达式中

  1. root是默认的,使用时可以省略
  2. 使用方法参数时可以直接使用"#参数名"或者"#p参数的index"
    @Cacheable(value=“users”, key="#id")
    @Cacheable(value=“users”, key="#p0")

条件表达式支持的运算符

<,>,<=,>=,==,!=,lt,gt,le,ge,eq,ne,+,- ,* ,/,%,^,&&,||,!,and,or,not,between,instanceof,?: (ternary),?: (elvis),正则表达式, ?.,?[…],![…],^[…],$[…]


查看缓存的数据(客户端命令行)

常见面试题
上一篇 下一篇

猜你喜欢

热点阅读