一、NoSQL
1、NoSQL的优点:
- 高并发、效率高
- 拓展性强
- 数据结构灵活
2、NoSQL的类型:
- 键值对存储:Redis (内容缓存,高并发访问效率高)
- 列存储:Hbase
- 文档数据库:MongoDB
- 图形数据库
二、Redis
1、概述
使用C语言进行开发的一个高性能的键值对型数据库
每秒11万次的读,8W次的写操作,高吞吐量
2、应用场景
- 缓存
- 任务队列
- 分布式集群的session分离
3、安装
- sudo brew install redis
- cd 进入 /usr/local/bin
sudo ./redis-server
- sudo ./redis-cli
- 在客户端执行Redis语法代码
4、持久化
- RDB:指定间隔多少时间将Redis中的内容存储到硬盘
- AOF:记录日志,记录每个操作,服务器启动之后进行数据库重新构建
三、Spring Boot使用Redis
1、增加依赖spring-boot-starter-data-redis
1 | <dependency> |
在Spring Boot里面的依赖spring-boot-starter-data-redis已经集成了jedis,common-pool等等的包,所以就不要增加这些依赖,容易版本冲突导致应用无法起来,如下图所示。
2、进行配置注入
1 | @Configuration |
3、代码测试
1 | @Resource |
执行完毕之后可以在你的本机的Redis客户端查看到写入的内容。或者可以通过brew cask install rdm安装RDM(Redis Desktop Manager)可视化工具进行查看,如下图:
具体RedisTemplate的使用姿势:如何使用RedisTemplate访问Redis数据结构
三、使用Redis 实现分布式锁
在分布式锁的实现上,基于数据库的乐观锁,基于zookeeper的分布式锁,同样基于Redis的分布式锁一样发挥巨大的作用,代码如下:
1 | /** |