唠嗑部分
Redis,NoSql菲关系型数据库,NoSql = Not Only Sql(不仅仅是Sql),也解释为non-relational(非关系型数据库),在NoSql数据库中数据是无联系的,无关系的,数据的结构是松散的,可变的
问题一、关系型数据库的瓶颈?
1、无法应对每秒上万次的数据请求,无法处理大量集中式的高并发操作
2、表中储存的数据有限,横向扩展能力有限(Mysql横向255),纵向数据可承受能力有限,随着数据的增多,读写速度会下降
3、无法简单的通过增加硬件、服务街店来提高系统性能
4、关系型数据库大多是收费的,对硬件的要求较高,软件和硬件的成本花费较大
问题二、在实际项目中Redis一般会用来做什么?
1、做缓存,在许多对客的高并发场景下,都会使用缓存技术,而Redis每秒可抗10W并发,是不错的选择
2、分布式数据共享,举个例子昂,集群环境下用户认证信息的共享-token
3、做分布式锁,解决分布式环境下jvm锁失效的问题
4、做全局唯一ID,int类型,incrby,利用原子性
5、抽奖,自带一个随机获取值
6、热搜排行榜,zset类型提供一个分数,可用作热搜次数
7、点赞、签到、打卡功能设计
8、商品购物车的设计,string、hash
9、接口限流
10、…
既然有这么多功能,那必须要会安装了
操作步骤
在/root目录下创建如下目录
docker-compose-redis/data(数据持久化挂载目录),docker-compose-redis/conf(自定义配置挂载目录)
cd /root
mkdir -p docker-compose-redis/{data,conf}
授权(避免持久化数据目录权限不足而失败)
chmod -R 777 docker-compose-redis/data
创建自定义的配置文件redis.conf
vim docker-compose-redis/conf/redis.conf
配置如下
protected-mode no
port 6379
daemonize no
requirepass 123456
appendonly yes
在docker-compose-redis目录下创建docker-compose.yml文件,内容如下
version: "3.1"
services:
mysql1:
_name: docker-compose-redis
image: redis:5
ports:
- "6379:6379"
volumes:
- /root/docker-compose-redis/conf/:/etc/redis/
- /root/docker-compose-redis/data:/data
command: ["redis-server","/etc/redis/redis.conf"]
在docker-compose-redis目录下执行如下命令,运行容器
docker-compose up -d
测试&结语
使用Windows命令行或RDM连接redis,我的ip是10.10.10.10
到此,docker-compose安装Redis就结束了
- 关于docker章节,后续我们还会更新常用软件的安装,敬请期待
- 有关SpringBoot整合Redis的内容,后续也会更新