在现今互联网应用中, NoSQL 已经广为应用 在互联网中起到加速系统的作用。有两种 NoSQL使用最为广泛,那就是 Redis和MongoDB 。
- Redis 是一种运行在内存的数据库,支持7种数据类型的存储, Redis 是一个开源、使用 ANSIC语言编写 遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、键值数据库,并提供多种语言的 APl ,Redis 是基于内存的,所以运行速度很快,大约是关系数据库几倍到 十倍的速度。如果我将常用的数据存储在Redis 中,用来代替关系数据库的查询访问,网站性能将可以得到大幅提高。
- 在现实中,查询数据要远远多于更新数据 一般一 正常的网站查询和更新的比例大约是 : 9 :1或3:7 在查询 比例较大的网站使用 Redis 可以数倍地提升网站的性能。例如 当一个会员登录网站,我 就把其常用数据从数据库一次性查询出来存放在 Redis 中,那么之后大部分的查询只需要基Redis 完成便可以了,这样将很大程度上提升网站的性能。除此之外 Red is 还提供了简单的事务机制,通过事务机制可以有效保证在高井发的场景下数据的一致性。 Redis 自身数据类型比较少,命令功能也比较有限 ,运算能力一直不强,所以 Redis 2.6 版本之后开始增加 Lua 语言的支持,这样Redis 的运算能力就大大提高了,而且在 Redis Lua 语言 的执行是原子性的,也就是 Redis 执行Lua 时, 不会被其他命令所打断,这样就能够保证在高并发场景下的一致性,在未来高并发的场景我会再次看到它的威力。
- 要使 Redis ,需要先加入关于 Re 的依赖,同样, Spring Boot 会为其提供 stater ,然后允许我们通过配置文件 Application properties 进行配置,这样就能够以最快的速度配置并且使用 Redis了。
所以下面先在 Maven 中增加依赖:
<-!引入 spring -boot tarter-data-red is >
<dependency>
<groupid>org spr ngfrarnework boot</groupid>
<artifactid>spring boot-starter-data- redis</artifactid>
<exclusions>
<-!排除不依赖 Redis 的异步客户端 lettuce >
<exclusion>
<groupid>io.lettuce</groupid>
<artifact d>lettuce core</artifactid>
</exclusion>
</exclusions>
</dependency>
<-!引入 Redis 的客户端驱动 edis-->
<dependency>
<groupid>redis .clients </groupid>
<artifactid>]Redis</artifactid>
</dependency>