VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • 第二章 高并发必备技术+新版分布式缓存Redis6安装

第1集 高并发的必备两大“核技术”队列和缓存

简介:高并发的必备两大“核技术”队列和缓存介绍

  • 什么是队列(MQ消息中间件)

    • 全称MessageQueue,主要是用于程序和程序直接通信,异步+解耦

    • 使用场景:

      • 核心应用

        • 解耦:订单系统-》物流系统
        • 异步:用户注册-》发送邮件,初始化信息
        • 削峰:秒杀、日志处理

image-20210107154001096

  • 什么是缓存

    • 程序经常要调用的对象存在内存中,方便其使用时可以快 速调用,不必去数据库或者其他持久化设备中查询
    • 主要 就是提高性能 DNS缓存、前端缓存、代理服务器缓存Nginx、应用程序缓存、数据库缓存

     

 

 

 

 

 

 

 

 

 

 

第2集 本地缓存和分布式缓存介绍+热点key的解决方案

简介:介绍本地缓存和分布式缓存

  • 分布式缓存

    • 与应用分离的缓存组件或服务,与本地应用隔离一个独 立的应用,多个应用可直接的共享缓存
    • 常⻅的分布式缓存 Redis、Memcached等
  • 本地缓存

    • 和业务程序一起的缓存,例如myabtis的一级或者二级 缓存,本地缓存自然是最快的,但是不能在多个节点共 享

    • 常⻅的本地缓存

      • ssm基础课程myabtis 一级缓存、 mybatis二级缓存;
      • 框架本身的缓存;
      • redis本地单机服 务;
      • ehchche
      • guava cache
      • Caffeine
  • 选择本地缓存和分布式缓存

    • 和业务数据结合去选择 高并发项目里面一般都是有本地缓存和分布式缓存共同 存在的

    • 热点key的解决方案之一:避免带宽或者传输影响,本地缓存热点key数据,对于每次读请求,将首先检查key是否存在于本地缓存中,如果存在则直接返回,如果不存在再去访问分布式缓存的机器

      • 缓存中的某些Key对应的value存储在集群中一台机器,使得所有流量涌向同一机器,成为系统的瓶颈,无法通过增加机器容量来解决
      • 热卖商品、热点新闻、热点评论、大V明星结婚

image-20210405104337479

 

 

 

 

 

 

 

第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、虚拟机等等,可能存在兼容问题

image-20210405121007100

  • 选购实操

 

  • 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


相关教程