08 2021 档案

摘要:Redis缓存穿透和雪崩(面试高频、工作常用) Redis缓存使用流程 客户端向服务器发送读请求,此时后台会先去缓存中查数据,如果数据命中,那么返回结果,反之去数据库中查询,如果数据库中查到数据,那么返回数据,并且写入缓存,如果没有查到该数据即返回空结果 缓存穿透(数据未命中) 概念 缓存穿透的概念 阅读全文
posted @ 2021-08-31 10:58 saxon宋 阅读(96) 评论(0) 推荐(0)
摘要:哨兵模式 主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。 一、哨兵模式概述 哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程, 阅读全文
posted @ 2021-08-31 10:42 saxon宋 阅读(2119) 评论(0) 推荐(0)
摘要:Redis主从复制 概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。 默认情况下,每台Re 阅读全文
posted @ 2021-08-31 09:41 saxon宋 阅读(77) 评论(0) 推荐(0)
摘要:Redis发布订阅 Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis客户端可以订阅任意数量的频道。 订阅/发布消息图: 第一个:消息发送者 第二个:频道 第三个:消息订阅者! 下图展示了频道 channel1 , 以及订阅这个频 阅读全文
posted @ 2021-08-30 16:13 saxon宋 阅读(89) 评论(0) 推荐(0)
摘要:持久化之AOF(Append Only File) 默认是不开启的 我们只需要将appendonly改为yes就开启了aof! 以日志的形式来记录每个写操作,将Reids执行过的写入指令记录下来,只许追加文件但不可以改写文件,redis启动之初会读取aof文件重新构建数据,换言之,redis重启的话 阅读全文
posted @ 2021-08-30 15:28 saxon宋 阅读(228) 评论(0) 推荐(0)
摘要:Redis持久化之RDB操作 面试和工作,持久化都是重点! Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦出现服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能! RDB(Redis DataBase) Redis会淡出创建(fork)一个子进程来进 阅读全文
posted @ 2021-08-30 14:55 saxon宋 阅读(160) 评论(0) 推荐(0)
摘要:Redis.conf详解 启动的时候,就通过配置文件来启动! 单位 配置文件unit单位 对大小写不敏感! 包含 就是好比我们学习Spring、Import,include一般 网络 bind 127.0.0.1 # 绑定的ip protected-mode yes # 保护模式 port 6379 阅读全文
posted @ 2021-08-30 14:04 saxon宋 阅读(137) 评论(0) 推荐(0)
摘要:SpringBoot整合Redis SpringBoot 操作数据:spring-data jpa jdbc mongodb redis! SpringData 也是和 SpringBoot 齐名的项目! 说明: 在 SpringBoot2.x 之后,原来使用的jedis 被替换为了 lettuce 阅读全文
posted @ 2021-08-30 13:21 saxon宋 阅读(140) 评论(0) 推荐(0)
摘要:Jedis 操作 redis 我们要使用Java来操作Redis 什么是Jedis?是Redis官方推荐的java连接开发工具!使用Java操作Redis中间件!如果你要使用java操作redis,那么一定要对Jedis十分熟悉! 知其然并知其所以然 测试 1、导入对应的依赖 <!-- https: 阅读全文
posted @ 2021-08-27 16:48 saxon宋 阅读(96) 评论(0) 推荐(0)
摘要:Redis 实现乐观锁 悲观锁: 很悲观,认为什么时候都会出现问题,无论做什么都会加锁! 乐观锁: 很乐观,认为什么时候都不会出问题,所以不会上锁!更新数据的时候去判断一下,在此期间是否有人修改过这个数据, 获取version 更新的时候比较version Redis监视测试 127.0.0.1:6 阅读全文
posted @ 2021-08-27 14:54 saxon宋 阅读(96) 评论(0) 推荐(0)
摘要:事务 Redis单条命令是保证原子性的,但是它的事务不保证原子性! Redis事务的本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行! 一次性、顺序性、排他性!执行一系列的命令! Redis事务没有隔离级别的概念! 所有的命令在事务中,并没有直接被执行!只有发 阅读全文
posted @ 2021-08-27 14:14 saxon宋 阅读(51) 评论(0) 推荐(0)
摘要:三种特殊数据类型 geospatial 地理位置 朋友的定位,附近的人,打车距离计算? Redis的Geo在Redis3.2版本就推出了!这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人! 可以查询一些测试数据:https://jingweidu.bmcx.com/ 只有六个命令 GEO 阅读全文
posted @ 2021-08-27 11:12 saxon宋 阅读(390) 评论(0) 推荐(0)
摘要:Zset(有序集合) 在set的基础上,增加了一个值,set k1 v1 | zset k1 score1 v1 ######################################################## 127.0.0.1:6379> zadd myset 1 one 2 t 阅读全文
posted @ 2021-08-26 16:39 saxon宋 阅读(149) 评论(0) 推荐(0)
摘要:Hash(哈希) Map集合,key-map!的时候这个值是一个map集合!本质和String类型没有太大区别,还是一个见的key-value! ######################################################## 127.0.0.1:6379> hset 阅读全文
posted @ 2021-08-26 15:54 saxon宋 阅读(146) 评论(0) 推荐(0)
摘要:set(集合) set中的值是不能重复的 ######################################################## 127.0.0.1:6379> sadd myset hello dw lovegirl #set集合中添加元素 (integer) 3 127 阅读全文
posted @ 2021-08-26 14:15 saxon宋 阅读(61) 评论(0) 推荐(0)
摘要:List(列表) 基本的数据类型,列表 在redis里面,我们可以把list玩成栈、队列、阻塞队列! 所有的list命令都是用L开头的,redis不区分大小写命令 ######################################################## 127.0.0.1:6 阅读全文
posted @ 2021-08-26 13:43 saxon宋 阅读(296) 评论(0) 推荐(0)
摘要:String(字符串) 90%的java程序员使用redis只会使用一个String类型! ######################################################## 127.0.0.1:6379> set key1 v1 # 设置值 OK 127.0.0.1: 阅读全文
posted @ 2021-08-24 11:12 saxon宋 阅读(180) 评论(0) 推荐(0)
摘要:redis基础知识 redis默认有16个数据库 默认使用的是第0个 可以使用select进行切换 127.0.0.1:6379> SELECT 2 #切换数据库 OK 127.0.0.1:6379[2]> DBSIZE # 查看DB大小! (integer) 0 127.0.0.1:6379[2] 阅读全文
posted @ 2021-08-24 09:56 saxon宋 阅读(51) 评论(0) 推荐(0)
摘要:redis-benchmark性能测试 redis-benchmark是一个压力测试工具! 官方自带的性能测试工具! redis-benchmark命令参数! 图片来自菜鸟教程: 来简单测试一下 # 测试:100个并发下 100000个请求 redis-benchmark -h localhost 阅读全文
posted @ 2021-08-23 15:32 saxon宋 阅读(82) 评论(0) 推荐(0)
摘要:Redis入门 概述 Redis是什么 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 redis会周期性的把更新的数据写入磁盘或者把修 阅读全文
posted @ 2021-08-23 15:20 saxon宋 阅读(57) 评论(0) 推荐(0)
摘要:NoSql的四大分类 KV键值对: 新浪:Redis 美团:Redis + Tair 阿里、百度:Redis + memecache 文档型数据库(bson格式和json一样): MongoDB (一般必须要掌握) MongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档! 阅读全文
posted @ 2021-08-23 10:52 saxon宋 阅读(179) 评论(0) 推荐(0)
摘要:Nginx常用命令 cd /usr/local/nginx/sbin/ ./nginx 启动 ./nginx -s stop 停止 ./nginx -s quit 安全退出 ./nginx -s reload 重新加载配置文件 ps aux|grep nginx 查看nginx进程 启动成功访问 服 阅读全文
posted @ 2021-08-20 15:12 saxon宋 阅读(548) 评论(0) 推荐(0)
摘要:Nginx的安装 windows下安装 1、下载nginx http://nginx.org/en/download.html 下载稳定版本。 以nginx/Windows-1.16.1为例,直接下载 nginx-1.16.1.zip。 下载后解压,解压后如下: 2、启动nginx 有很多种方法启动 阅读全文
posted @ 2021-08-20 13:25 saxon宋 阅读(105) 评论(0) 推荐(0)
摘要:Nginx 公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。 但是慢慢的,使用我们平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了。 于是我们横向扩展,又增加了服务器。这个时候几个项目启 阅读全文
posted @ 2021-08-20 10:37 saxon宋 阅读(53) 评论(0) 推荐(0)
摘要:扩展:Vmware使用 很多小伙伴,比较吝啬,买不起70一年的服务器 ! Vmware本地安装包! 快照 保留当前系统信息为快照,随时可以恢复,以防未来系统被你玩坏,就好比游戏中的归档! 平时的话,我们每配置一个东西就可以拍摄一个快照,保留信息! 本地网络配置 需要保证 Linux虚拟机和本机处在同 阅读全文
posted @ 2021-08-19 10:36 saxon宋 阅读(64) 评论(0) 推荐(0)
摘要:Docker(yum安装) 联网的情况下 yum install -y yum 源 官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/ 我们现在是在Linu下执行,一定要联网 ,yum 在线安装! 1、检测CentOS 7 阅读全文
posted @ 2021-08-18 17:11 saxon宋 阅读(591) 评论(0) 推荐(0)
摘要:Tomcat 安装 ssm war 就需要放到tomcat 中运行! 1、下载tomcat。官网下载即可 tomcat9 apache-tomcat-9.0.22.tar.gz 2、解压这个文件 tar -zxvf apache-tomcat-9.0.22.tar.gz 3、启动tomcat测试! 阅读全文
posted @ 2021-08-18 16:08 saxon宋 阅读(52) 评论(0) 推荐(0)
摘要:环境安装 我们开发java程序必须要的环境! 1、下载JDK rpm。去oralce 官网下载即可! 2、安装java环境 # 检测当前系统是否存在java环境! java -version # 如果有的话就需要卸载 # rpm -qa|grep jdk # 检测JDK版本信息 # rpm -e - 阅读全文
posted @ 2021-08-18 15:50 saxon宋 阅读(100) 评论(0) 推荐(0)
摘要:1、先查询占用8080端口号进程 # netstat -apn | grep 8080 2、删除进程 # kill -9 pid 3、再回看8080是否还有进程 # netstat -apn | grep 8080 阅读全文
posted @ 2021-08-18 15:36 saxon宋 阅读(706) 评论(0) 推荐(0)
摘要:进程管理 Linux中一切皆文件 (文件:读写执行(查看,创建,删除,移动,复制,编辑),权限(用户、用户组)。系统:(磁盘,进程)) 对于我们开发人员来说,其实Linux更多偏向于使用即可! 基本概念! 1、在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号! 2、每一个进程 阅读全文
posted @ 2021-08-18 10:38 saxon宋 阅读(46) 评论(0) 推荐(0)
摘要:磁盘管理 df (列出文件系统整体的磁盘使用量) du(检查磁盘空间使用量!) df df -h du du -a 查看隐藏文件 Mac 或者想使用Linux 挂载我们的一些本地磁盘或者文件! 挂载:mount 卸载:umount -f [挂载位置] 强制卸载 除了这个之外,以后我们安装了JDK , 阅读全文
posted @ 2021-08-18 10:04 saxon宋 阅读(54) 评论(0) 推荐(0)
摘要:用户组管理 属主、属组 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。 用户组的管理涉及用户组的添加、删除和修改。组的增加、删除 阅读全文
posted @ 2021-08-17 17:11 saxon宋 阅读(204) 评论(0) 推荐(0)
摘要:账号管理 你一般在公司中,用的应该都不是 root 账户! 4.4.1、简介 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统 阅读全文
posted @ 2021-08-17 16:16 saxon宋 阅读(677) 评论(0) 推荐(0)
摘要:Vim 编辑器 什么是Vim编辑器 im 通过一些插件可以实现和IDE一样的功能! Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。尤其是Linux中,必须要会使用Vim(查看内容,编辑内容,保存内容!) 简单的来说, vi 是老式 阅读全文
posted @ 2021-08-17 14:54 saxon宋 阅读(194) 评论(0) 推荐(0)
摘要:拓展:Linux 链接的概念(了解即可!) Linux的链接分为两种:硬链接、软链接! **硬链接:**A—-B,假设B是A的硬链接,那么他们两个指向了同一个文件!允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删! 软链接: 类似Window下的快捷方式,删除的源文 阅读全文
posted @ 2021-08-17 14:00 saxon宋 阅读(197) 评论(0) 推荐(0)
摘要:常用基本命令 4.1、目录管理 4.1.1、绝对路径、相对路径 绝对路径路径的全称:C:\ProgramData\360safe\xxx.xx 比如说 360safe 目录下,那这个 xxx.xx 文件,对应我们的相对配置就 /xxx.xx cd : 切换目录命令! ./ : 当前目录 cd .. 阅读全文
posted @ 2021-08-17 10:46 saxon宋 阅读(76) 评论(0) 推荐(0)
摘要:走近Linux系统 开机登录 开机会启动许多程序。它们在Windows叫做”服务”(service),在Linux就叫做”守护进程”(daemon)。 开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给log 阅读全文
posted @ 2021-08-16 17:43 saxon宋 阅读(44) 评论(0) 推荐(0)
摘要:环境搭建 Linux 的安装,安装步骤比较繁琐(操作系统本身也是一个软件),现在其实云服务器挺普遍的,价格也便宜,如果直接不想搭建,也可以直接买一台学习用用! 安装CentOS (在本地安装,这个不太建议,如果没有经济来源的话,可以考虑在本地搭建) Linux是一个操作系统,你也可以把自己电脑安装成 阅读全文
posted @ 2021-08-16 15:19 saxon宋 阅读(131) 评论(0) 推荐(0)
摘要:入门概述 1.1、我们为什么要学习Linux linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样,想想而已基本不可能,因为用户已经习惯于使用微信交流,不是说技术上实现不了解而是老百姓 阅读全文
posted @ 2021-08-16 13:38 saxon宋 阅读(46) 评论(0) 推荐(0)
摘要:Spring Cloud Config 分布式配置 Dalston.RELEASE Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environ 阅读全文
posted @ 2021-08-13 13:37 saxon宋 阅读(80) 评论(0) 推荐(0)
摘要:Zuul路由网关 概述 什么是zuul? Zull包含了对请求的路由(用来跳转的)和过滤两个最主要功能: 其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合 阅读全文
posted @ 2021-08-11 09:40 saxon宋 阅读(73) 评论(0) 推荐(0)
摘要:Dashboard 流监控 新建springcloud-consumer-hystrix-dashboard模块 添加依赖 <!--Hystrix依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>s 阅读全文
posted @ 2021-08-10 16:26 saxon宋 阅读(82) 评论(0) 推荐(0)
摘要:服务降级 什么是服务降级? 服务降级是指 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理,或换种简单的方式处理,从而释放服务器资源以保证核心业务正常运作或高效运作。说白了,就是尽可能的把系统资源让给优先级高的服务。 资源有限,而请求是无限的。如果在并发高峰期,不做服 阅读全文
posted @ 2021-08-10 15:17 saxon宋 阅读(990) 评论(0) 推荐(0)
摘要:Hystrix:服务熔断 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免失败! 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇出”,如果扇出的链路上某个微服务的调用 阅读全文
posted @ 2021-08-10 13:56 saxon宋 阅读(113) 评论(0) 推荐(0)
摘要:Feign:负载均衡(基于服务端) Feign简介 Feign是声明式Web Service客户端,它让微服务之间的调用变得更简单,类似controller调用service。SpringCloud集成了Ribbon和Eureka,可以使用Feigin提供负载均衡的http客户端 只需要创建一个接口 阅读全文
posted @ 2021-08-10 09:50 saxon宋 阅读(429) 评论(0) 推荐(0)
摘要:Ribbon:负载均衡(基于客户端) Ribbon是什么? Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。 简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服 阅读全文
posted @ 2021-08-09 14:30 saxon宋 阅读(184) 评论(0) 推荐(0)
摘要:Eureka对比和Zookeeper区别 1. 回顾CAP原则 RDBMS (MySQL\Oracle\sqlServer) > ACID NoSQL (Redis\MongoDB) > CAP 2. ACID是什么? A (Atomicity) 原子性 C (Consistency) 一致性 I 阅读全文
posted @ 2021-08-06 16:42 saxon宋 阅读(104) 评论(0) 推荐(0)
摘要:Eureka:集群环境配置 1.初始化 新建springcloud-eureka-7002、springcloud-eureka-7003 模块 1.为pom.xml添加依赖 (与springcloud-eureka-7001相同) <!--导包~--> <dependencies> <!-- ht 阅读全文
posted @ 2021-08-06 14:24 saxon宋 阅读(216) 评论(0) 推荐(0)
摘要:Eureka服务注册与发现 什么是Eureka Netflix在涉及Eureka时,遵循的就是API原则. Eureka是Netflix的有个子模块,也是核心模块之一。Eureka是基于REST的服务,用于定位服务,以实现云端中间件层服务发现和故障转移,服务注册与发现对于微服务来说是非常重要的,有了 阅读全文
posted @ 2021-08-05 13:25 saxon宋 阅读(247) 评论(0) 推荐(0)
摘要:SpringCloud Rest学习环境搭建:服务提供者 总体介绍 我们会使用一个Dept部门模块做一个微服务通用案例Consumer消费者(Client)通过REST调用Provider提供者(Server)提供的服务。 ·回忆Spring,SpringMVC,MyBatis等以往学习的知识。。。 阅读全文
posted @ 2021-08-02 18:22 saxon宋 阅读(95) 评论(0) 推荐(0)
摘要:SpringCloud入门概述 SpringCloud是什么? Spring官网:https://spring.io/ SpringCloud和SpringBoot的关系 SpringBoot专注于开苏方便的开发单个个体微服务; SpringCloud是关注全局的微服务协调整理治理框架,它将Spri 阅读全文
posted @ 2021-08-02 09:04 saxon宋 阅读(81) 评论(0) 推荐(0)