Redis是一个基于内存的key-value结构数据库。
基于内存存储,读写性能高
适合存储热点数据(热点商品、资讯、新闻)
企业应用广泛
Redis is an open source,in-memory datastructure store,used as a database,cache,and message broker.Redis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。
Redis中文网:https://redis.net.cn
结构化的NoSql(Not only SQL)数据库,NoSql泛指非关系型数据库。NoSql数据库并不是要取代关系型数据库,而是关系型数据库的补充。
Redis应用场景:缓存、任务队列、消息队列、分布式锁
Redis下载与安装:
Windows版下载地址:http://github.com/microsoftarchive/redis/releases
Linux版下载地址:https://download.redis.io/releases/
Redis数据类型
![](https://i-blog.csdnimg.cn/blog_migrate/dab8bd4eb0301fde12facbc633e9c9f6.png)
字符串 string
SET key value:设置指定key的值
GET key:获取指定key的值
SETEX key seconds value:设置指定key的值,并将key的过期时间设为seconds秒
SETNX key value:只有在key不存在时设置key的值
哈希 hash
![](https://i-blog.csdnimg.cn/blog_migrate/9faedc6ae8074f16b80903e22f86de34.png)
列表 list
![](https://i-blog.csdnimg.cn/blog_migrate/06b81e430a9273be32e34700c538792b.png)
集合 set
![](https://i-blog.csdnimg.cn/blog_migrate/00110d4565969525ef10aadc6097903d.png)
有序集合 sorted set
![](https://i-blog.csdnimg.cn/blog_migrate/e7439dbbad0a438ea08215928ac08495.png)
Java中操作Redis
Jedis
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.0</version>
</dependency>
使用Jedis操作Redis步骤:
获取连接-->执行操作-->关闭连接
Spring Data Redis
在Spring Boot 项目中,可以使用Spring Data Redis来简化Redis操作,maven坐标:
<dependency>
<groupId>org.srpringframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
Spring Data Redis中提供了一个高度封装的类:RedisTemplate,针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口,分类如下:
ValueOpertions:简单K-V操作
SetOpertions:set类型数据操作
ZSetOpertions:zset类型数据操作
HashOpertions:针对map类型的数据操作
ListOperations:针对list类型的数据操作
Spring Cache
![](https://i-blog.csdnimg.cn/blog_migrate/2b51ab34f8138c1a95b00d007afb293d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27e039d600287d52b54ea4fcb98307f6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/47701ea4f9b341478d638751265cda54.png)