一、什么是Redis:
Redis是用C语言编写的,基于Key-Value的非关系型内存数据库,可以持久化到硬盘,支持网络并且提供多种语言的API。
二、Redis中的数据类型:
(1)string(字符串):string是redis最基本的类型,一个key对应一个value,string是二进制安全的,可以包含任何数据,比如图片和序列化对象,最大存储512MB。语法:set keyName value,get keyName
(2)hash(哈希):hash是一个键值(key=>value)对集合,特别适合存储对象。语法:HMSET keyName 属性1 value1 属性2 value2,HGET keyName 属性1/2,每个hash可以存储40多亿个键值对,hmset是一次性设置多个键值对,只设置一个时使用hset keyName 属性 value。
(3)list(列表):Redis 列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部(左边)或者尾部(右边),每个列表可存储40多亿个元素。语法:lpush listName value,lrange listName 0 10
(4)set(集合):Redis 的 Set 是 string 类型的无序集合,添加一个 string 元素到 key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0。语法:sadd keyName value,smembers keyName
(5)zset(sorted set:有序集合):每个元素都会关联一个double类型的分数,元素不可重复,分数可以重复,redis正是通过分数对元素进行从小到大的排序。语法:zadd key score member,ZRANGEBYSCORE key 0 1000
三、常用命令:
del key:删除key
exists key:检查key是否存在
pexpire key millisseconds:设置key的过期时间(以毫秒计)
persist key:移除key的过期时间,key将保持永久
pttl key:返回key的剩余过期时间(以毫秒计)
rename key newname:重命名key
type key:返回key所存储的值的类型
四、springboot中集成Redis:
(1)使用工具类的方法:
1.添加依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2.redis配置:
spring.redis.database=1
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=88888888
3.创建工具类:(自行百度)
(2)使用注解的方式:
1.添加依赖:(在上面的基础上添加)
<!--4、集成redis --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.4.2</version> </dependency>
<!-- 缓存依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency>
2.redis配置(同上)
3.实现自定义缓存管理器(既config文件的配置):
主要内容有:自定义key生成器(当不指定key的值时,key的生成规则)、配置缓存管理器(包括设置key的序列化方式、设置value的序列化方式、设置缓存失效时间)
以上三步完成后就可以使用注解@Cacheable(cacheNames = "users",key="#id")的方式操作redis缓存了。
注意:使用注解的方式,失效时间都会统一配置