-
第二章 高并发必备技术+新版分布式缓存Redis6安装
第1集 高并发的必备两大“核技术”队列和缓存
简介:高并发的必备两大“核技术”队列和缓存介绍
-
什么是队列(MQ消息中间件)
-
全称MessageQueue,主要是用于程序和程序直接通信,异步+解耦
-
使用场景:
-
核心应用
- 解耦:订单系统-》物流系统
- 异步:用户注册-》发送邮件,初始化信息
- 削峰:秒杀、日志处理
-
-
-
什么是缓存
- 程序经常要调用的对象存在内存中,方便其使用时可以快 速调用,不必去数据库或者其他持久化设备中查询
- 主要 就是提高性能 DNS缓存、前端缓存、代理服务器缓存Nginx、应用程序缓存、数据库缓存
第2集 本地缓存和分布式缓存介绍+热点key的解决方案
简介:介绍本地缓存和分布式缓存
-
分布式缓存
- 与应用分离的缓存组件或服务,与本地应用隔离一个独 立的应用,多个应用可直接的共享缓存
- 常⻅的分布式缓存 Redis、Memcached等
-
本地缓存
-
和业务程序一起的缓存,例如myabtis的一级或者二级 缓存,本地缓存自然是最快的,但是不能在多个节点共 享
-
常⻅的本地缓存
- ssm基础课程myabtis 一级缓存、 mybatis二级缓存;
- 框架本身的缓存;
- redis本地单机服 务;
- ehchche
- guava cache
- Caffeine
-
-
选择本地缓存和分布式缓存
-
和业务数据结合去选择 高并发项目里面一般都是有本地缓存和分布式缓存共同 存在的
-
热点key的解决方案之一:避免带宽或者传输影响,本地缓存热点key数据,对于每次读请求,将首先检查key是否存在于本地缓存中,如果存在则直接返回,如果不存在再去访问分布式缓存的机器
- 缓存中的某些Key对应的value存储在集群中一台机器,使得所有流量涌向同一机器,成为系统的瓶颈,无法通过增加机器容量来解决
- 热卖商品、热点新闻、热点评论、大V明星结婚
-
第3集 什么是NosQL和Redis快速介绍
简介:Nosql介绍和Reidis介绍
-
什么是Redis
-
属于NoSQL的一种 ( Not Only SQL )
- 是不同于传统的关系数据库的数据库管理系统的统称
- 其两者最重要的区别是NoSQL不使用SQL作为查询语言。
- NoSQL数据存储可以不需要固定的表格模式
- 键 - 值对存储,列存储,文档存储,图形数据库
- NoSql:redis、memcached、mongodb、Hbase
-
官网地址:https://redis.io/
- 中文:http://www.redis.cn/
-
一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API
-
高性能:Redis能读的速度是110000次/s,写的速度是81000次/s
-
内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多 种类型的数据结构,如 字符串(strings)、散列(hashes)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)等
-
-
谁在使用Redis
-
国外: Google、Facebook、亚马逊
-
国内:阿里、腾讯、字节、百度
- 大厂们都有一个习惯:基于Redis二次开发,比如阿里Tair
-
-
高级工程师岗位面试都喜欢问Redis
- 特性:aof/rdb、高性能原因、key设计、热点key、淘汰算法
- 功能实现:排行榜、购物车、社交关系(粉丝、关注)、Feed流、附近的商家、分布式锁等等
第4集 阿里云Linux服务器选择和常用软件介绍
简介:阿里云Linux服务器购买和常用软件介绍
-
云厂商
-
阿里云:https://www.aliyun.com/
-
腾讯云:https://cloud.tencent.com/
-
亚马逊云:https://aws.amazon.com/
-
阿里云新用户地址(如果地址失效,联系我或者客服即可,1折)
- https://www.aliyun.com/minisite/goods?userCode=r5saexap&share_source=copy_link
-
-
环境问题说明
-
务必使用CentOS 7 以上版本,64位系统,不要在Windows系统操作!!!!
-
尽量前面先使用阿里云部署
-
大家本地用虚拟机记得也要CentOS 7.x系统
-
vmware
-
-
-
注意:谁都不能保证每个人-硬件组成-系统版本-虚拟机软件版本都一样
- 出现问题,大家结合报错日志搜索博文解决
- 少数同学 -Win7、Win8、Win10、Mac、虚拟机等等,可能存在兼容问题
- 选购实操
-
windows工具 putty,xshell, security CRT
-
参考资料:
- https://jingyan.baidu.com/article/e75057f210c6dcebc91a89dd.html
- https://www.jb51.net/softjc/88235.html
-
-
苹果系统MAC : 通过终端登录
- ssh root@ip 回车后输入密码
- ssh root@120.24.216.117
-
linux图形操作工具(用于远程连接上传文件)
-
mac: filezilla
- sftp://120.24.216.117
-
windows: winscp
-
参考资料:https://jingyan.baidu.com/article/ed2a5d1f346fd409f6be179a.html
-
- 可以尝试自己通过百度进行找文档, 安装mysql jdk nginx maven git redis等,也可以看我们的课程 xdclass.net
第5集 Linux服务器源码安装Redis6和相关依赖
简介:Linux服务器源码安装Redis6和相关依赖
- 源码安装Redis-上传到Linux服务(安装包在本章本集资料里面, 先安装升级gcc再编译,不然会有问题)
#安装gcc
yum install -y gcc-c++ autoconf automake
#centos7 默认的 gcc 默认是4.8.5,版本小于 5.3 无法编译,需要先安装gcc新版才能编译
gcc -v
#升级新版gcc,配置永久生效
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
#编译redis
cd redis
make
#安装到指定目录
mkdir -p /usr/local/redis
make PREFIX=/usr/local/redis install
-
安装编译redis6需要升级gcc,默认自带的gcc版本比较老
-
目录介绍
- 配置文件
- redis-server
- redis-cli
- 指定配置文件
第6集 Linux服务器Docker安装+容器化部署Redis6
简介:Linux服务器Docker安装+容器化部署Redis6
- 如果没Docker基础,建议是学习专题视频,这个公司用的很多 * https://xdclass.net/#/coursedetail?video_id=45 * 链接失效的话,联系客服小姐姐
云计算+容器化是当下的主流,也是未来的趋势, docker就是可以快速部署启动应用
实现虚拟化,完整资源隔离,一次编写,四处运行
但有一定的限制,比如Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
* Docker安装
安装并运行Docker。
yum install docker-io -y
systemctl start docker
检查安装结果。
docker info
启动使用Docker
systemctl start docker #运行Docker守护进程
systemctl stop docker #停止Docker守护进程
systemctl restart docker #重启Docker守护进程
docker ps查看容器
docker stop 容器id
修改镜像仓库
vim /etc/docker/daemon.json
#改为下面内容,然后重启docker
{
"debug":true,"experimental":true,
"registry-mirrors":["https://pb5bklzr.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}
#查看信息
docker info
- docker部署redis 并配置密码
如果访问不了,记得看防火墙/网络安全组端口是否开放
源码安装redis的话默认不能远程访问 docker安装redis可以远程访问
docker run -itd --name xdclass-redis -p 6379:6379 redis --requirepass 123456
-i 以交互模式运行容器,通常与
-t 同时使用;
-d 后台运行容器,并返回容器ID;
来源:https://www.cnblogs.com/Xd17324217006/p/14888145.html