版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yushenzaishi/article/details/82625558
首先,pom文件引入redis的依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
maven会从仓库中自动下载所有依赖包。
接着,在yml或者propertie文件中配置redis的参数,以yml格式的配置问价为例:
spring: redis: database: # Redis数据库索引(默认为0) host: # Redis服务器地址 port: # Redis服务器连接端口 password: # Redis服务器连接密码(默认为空) timeout: # 连接超时时间(毫秒)
在冒号后面写上redis的参数,spring cloud整合redis就完成了。
下面讲讲具体怎么使用,具体的使用方式有两种,根据具体的情况而定。
第一种:注解的方式。
在你需要缓存的业务方法上写上@Cacheable(value="",key=""),其中value的值必须要指定,其表示当前方法的返回值是会被缓存在哪个Cache上的,对应Cache的名称。其可以是一个Cache也可以是多个Cache,当需要指定多个Cache时其是一个数组。key不指定的话spring会默认生成。第一次请求时,spring会把结果存放到redis中,当下次以相同的参数请求该方法时,spring就会从redis中获取数据。
第二种:使用RedisTemplate模板。
spring封装了redis,使得操作redis更加的简单方便。具体怎么使用RedisTemplate,可以参考RedisTemplate api,下面我讲讲redis的普通缓存的和hash缓存。
普通缓存就是一个key,一个value这样简单的存储。
hash缓存;则会新建一个hash表,相同hash表名称的缓存会存在一起,同样以key-value的形式存储。
下面介绍几个hash缓存的方法:
boolean hasKey(value,key) value是hash的名称,判断hash缓存中是否有key的缓存。
long increment(value,key,incBy) value是hash的名称,hash递增 如果不存在,就会创建一个,默认是0, 并把新增后的值返回。
void put(value, key, value) 向一张hash表中放入数据,如果不存在将创建。
object get(value,key) 从hash表中获取缓存key的数据