- 博客(52)
- 资源 (17)
- 收藏
- 关注
原创 尝试分析一下go语言和php语言对建立mysql链接有什么不同
Go语言通过连接池和协程机制,提供了高效、自动化的连接管理,适合高性能需求;PHP默认短连接简单易用,但需借助扩展或框架优化高并发场景。选择取决于项目规模、性能需求及技术栈。
2025-02-10 10:03:54
734
原创 http状态码:请说说 503 Service Unavailable(服务不可用)的原因以及排查问题的思路
反向代理(如Nginx、Apache)配置错误,导致无法正确路由请求。检查云平台或CDN是否触发了维护模式(如AWS的ELB健康检查失败)。使用APM工具(如New Relic、Datadog)监控服务性能。:服务器处于维护模式,或通过限流策略(如熔断机制)主动拒绝请求。:服务器资源(CPU、内存、连接数)耗尽,无法处理新请求。:服务器或容器的资源配额(如Docker内存限制)被触发。:后端服务(如数据库、API、应用服务器)崩溃或未启动。:依赖的第三方服务(如数据库、缓存、认证服务)不可用。
2025-02-05 19:52:56
8390
原创 http状态码:504 Gateway Timeout(网关超时)的原有以及排查问题的思路
是一种常见的HTTP错误状态码,表示服务器作为网关或代理时,未能及时从上游服务器收到响应。:服务器作为网关或代理时,未能在规定时间内从上游服务器(如另一台服务器、API或数据库)收到响应。检查网关的超时时间设置,适当增加超时时间(如Nginx的。:调整网关的超时设置,给上游服务器更多时间处理请求。上游服务器处理请求时间过长,超过了网关的等待时间。网关的超时时间设置过短,无法等待上游服务器的响应。:对频繁请求的数据进行缓存,减少上游服务器的压力。检查上游服务器的日志,查看是否有错误或超时记录。
2025-02-05 19:25:52
6401
原创 redis试题按知识点归类(三)
十一、发布/订阅1.Redis 的发布/订阅模型是如何工作的?2.如何使用 Redis 作为消息队列?3.发布/订阅在实际应用中有哪些用例?十二、缓存策略1.如何确定 Redis 的缓存策略?2.Redis 的缓存替换策略有哪些?3.如何使用 Redis 作为缓存层?十三、客户端与生态系统1.Redis 支持哪些编程语言的客户端?2.Redisson 和 Jedis 有什么不同?3.如何使用 Redis 模块?十四、运维与管理1.如何监控和管理 Redis
2024-05-13 21:02:42
247
1
原创 redis试题按知识点归类(二)
(1)Redis 自带监控命令(2)第三方监控工具:(3)可视化工具:2.Redis 的常见性能问题有哪些?3.如何优化 Redis 的内存使用?
2024-05-13 21:02:03
266
原创 go实现时间滑动窗口的组件
在 Go 语言中,实现一个时间滑动窗口的组件通常涉及到使用队列来存储事件,并在窗口滑动时移除过期的事件。以下是一个简单的时间滑动窗口组件的实现,它使用一个环形缓冲区(ring buffer)来存储最近的 N 个事件,并允许用户添加新事件和获取窗口内的事件。请注意,这个实现是一个简化的版本,它没有处理所有的并发问题。在生产环境中,你可能需要添加额外的同步机制,如互斥锁,以确保线程安全。此外,定时器的重置操作可能需要更精细的控制,以确保它在正确的时间触发。
2024-04-26 18:00:27
357
原创 学习redis知识点
通过系统地学习上述分类中的知识点,可以深入理解 Redis 的工作原理、特性和应用场景,从而更有效地在项目中使用 Redis。
2024-04-25 21:02:25
473
原创 redis在实际项目作用
在不同的项目和应用场景中,Redis 的作用可能会有所侧重。通常,项目会根据具体需求选择 Redis 的一个或多个作用来优化系统性能、提高用户体验或实现特定的业务逻辑。
2024-04-25 20:56:43
448
原创 go 映射(Map)使用注意事项
在 Go 语言中,映射(Map)是一种非常有用的数据结构,用于存储键值对。使用映射时,遵循这些注意事项可以避免常见的错误和潜在的并发问题。
2024-04-24 21:11:40
430
原创 go 基础概念-变量和类型使用注意事项
在 Goland 语言中,变量是存储数据的容器,而类型定义了变量可以存储的数据种类和可以对变量执行的操作。
2024-04-24 21:02:26
386
原创 go垃圾回收机制
Go 语言的垃圾回收(Garbage Collection, GC)机制是其内存管理的核心部分,它负责自动检测并回收不再使用的内存。
2024-04-24 20:30:12
978
原创 go的通信Channel
(3)如果channel上有可以接收的数据(empty函数),且是阻塞读(block=false),在channel未关闭时,返回(false,false),如果未关闭,再次检查empty函数,没可接收数据,返回(true,false)(5)当channel未关闭,有缓冲,读缓冲数据(如果非阻塞式接收(select receive),直接返回(false,false))(1)如果channel为nil,如果非阻塞式接收(select receive),直接返回(false,false),否则阻塞。
2024-03-28 20:12:10
1001
1
原创 Jmeter 压测工具进行压力测试
需求:接口需要进行压力测试,有减库存的场景,要求并发不能超库存,接口鉴权类似token方式校验。这里准备模拟1000个不同用户,5秒内启动完,执行1次(可以根据自己需要去测试)这里可以根据自己实际请求鉴权方式来设置,这里我设置1000个不同用户的参数,(2)添加具体接口,如这里加添加接口https请求,设置请求参数。,下载安装可以自行翻帖子,很多教程,本次实验用的是5.3。到这里请求和参数都设置完成,下面再设置结果返回的监听。(2)定义名字,选择对应的文件,编码,定义参数名。
2023-05-29 12:37:36
1268
原创 文件I/O_03PageCache和Mmap
1.什么是PageCache(1)假如没有PageCache:CPU如果要访问外部磁盘上的文件,由于cpu可以直接访问的存储器是内存。所以磁盘的文件内容要先拷贝到内存上(DMA技术),cup才能读取到。cup访问内存是很快的高速,内存拷贝磁盘文件相对是慢的。(DMA, Direct Memory Access, 存储器直接访问, 允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预) 要优化慢这个问题,就需要提前把磁盘数据先读到内存用做缓存。这个在内存上建立的缓存就是PageCache
2022-06-28 16:52:37
1575
原创 文件I/O_02文件描述符fd
1.为什么读写文件要先open()?看下面代码,通常我们读写文件,都是要先open,然后读写,处理完业务之后还有close一下。fd = open(pathname, flags, mode);rlen = read(fd, buf, count);wlen = write(fd, buf, count);close(fd); 为什么读写文件都要先open()一下,读写完又要close()呢?以前老师只告诉我们要open和一定一定要close,有时候我们忘记close代码也不报
2022-06-28 16:45:02
1016
原创 Nginx+Keepalived负载均衡实验
1.环境准备4台机器ip地址:192.168.5.135(note01 主)ip地址:192.168.5.136(note02 备)ip地址:192.168.5.137(note03 nginx)ip地址:192.168.5.138(note04 nginx)2.主机安装环境192.168.5.135(note01 主)2.主机安装环境192.168.5.135(note01 主)(1)安装阿里云源家里网络,这里为了方便安装,配置一下阿里云的yum源和epel源#yu
2022-01-05 10:37:20
475
原创 网络协议基础01-七层网络协议
前言:为什么学?1.避不开:几乎所有的程序运行都会涉及到网络协议2.不过时:越基础知识越不容易过时,值得花时间深入学习和积累。容器技术、大数据、云计算、人工智能、区块链...等技术更新迭代速度很快,刚学完这个版本,又即将被更好的替代,应接不暇。掌握了计算机组成原理、操作系统、网络协议、数据结构与算法这些基础,不管新技术变化再块,基础的知识还是相差不大的。3.没记录:以往学习的很多知识都没记录文档,学完就丢了,顾此想重新梳理学习,温故知新。以下整理的资料,很基础的知识,适合小白,大佬们..
2022-01-05 10:10:03
6429
3
原创 laravel框架学习(04):生命周期
这里将看看laravel执行的流程。一.入口文件Laravel 应用的所有请求入口都是public/index.php文件。index.php里面其实就几行代码。// 1.定义个laravel开始时间的常量,微秒数define('LARAVEL_START', microtime(true)); // 2.注册自动加载程序,Composer里面的require __DIR__.'/../vendor/autoload.php'; // 3.开始启动框架,创建一个app应用程..
2021-08-26 15:46:10
1347
原创 laravel框架学习(03):目录结构
前面2篇根据作者的讲解,我们大概了解框架的核心概念,这里做下小结1.依赖注入:支付实现类依赖通知实现类$biller = new StripeBiller(new SmsNotifier);2.服务容器:// bind:在服务提供者中将其绑定到所实现的接口 singleton:单例模式,instance:绑定一个已存在的对象实例 $this->app->bind(BillerInterface::class, function ($app) { return
2021-08-13 18:23:54
525
原创 laravel框架学习(02):接口和服务提供者
前面我们理解依赖注入和服务容器的概念,接下来我们继续理解为什么说接口即契约和服务提供者。1.强类型与鸭子类型 强类型:像java,c#,.net,都是强类型,要求函数传参时必须指定参数类型public int BillUser(User user){ this.biller.bill(user.GetId(), this.amount)} 鸭子类型:PHP 是一种鸭子类型语言。说的是一个对象的可用方法取决于其使用方式,而非这个对象继承自谁,或者实现了...
2021-08-11 19:02:06
591
原创 laravel框架学习(01):开篇依赖注入和服务容器入门
记录自己源码阅读的过程。一、开篇对于框架源码的阅读,千头万绪,不知道从哪里开始,那就从拜读作者的大作开始吧。先理解作者的思想,有理论的支撑,看起代码来,就很顺畅了。1.laravel作者:Taylor Otwell2.作者出的书籍:《From Apprentice To Artisan - Advanced Application Architecture With Laravel 4》 ,译作 《从学徒到工匠 - 基于 Laravel 4 进行高级应用架构》...
2021-08-06 18:24:35
280
原创 php基础(10):编程思想
1.常用的编程思想:(1).面向过程编程(opp)Procedure Oriented Programming : 以过程为中心的编程思想。(2).面向对象编程(oop)Object Oriented Programming : 以对象为基础的编程思想(3).面向切面编程(aop)Aspect Oriented Programming :基于OOP延伸出来的编程思想,横插一杠。(4).函数式编程(FP)Functional programming:本质是函数的组合o:object p...
2021-08-06 15:45:10
410
原创 php基础(08):PHP7异常和错误处理机制
1.php异常是什么?和错误有什么区别?PHP 中将代码自身异常(一般是环境或者语法非法所致)称作错误Error,将运行中出现的逻辑错误称为异常Exception 错误是没法通过代码处理的,而异常则可以通过try/catch来处理 PHP 7 改变了大多数错误的报告方式。不同于传统(PHP 5)的错误报告机制,现在大多数错误被作为Error异常抛出。 这种Error异常可以像Exception异常一样被第一个匹配的try/catch块所捕获。如果没有匹配的cat...
2021-08-05 18:52:44
198
原创 php基础(07):开发工具和调试方法
1.常用开发工具(1) PHP IDE :phpstorm, zend studio,推荐phpstorm(2) PHP服务器组件: phpStudy、XAMPP,推荐phpStudy(3)MySql管理工具:Navicat for Mysql、PhpMyAdmin ,推荐Navicat(4)文本编辑器 : sublime, editplus(5) 代码版本管理 :github,gitee(6) 远程连接工具:SecureCRT+SecureFX, xshell, ftp(7..
2021-08-04 18:47:12
1830
2
原创 php基础(06):日期操作常用函数
1.时间与日期常用函数date() :格式化时间戳为日期date()函数字符串格式中各个字母的含义:a - "am" 或是 "pm"A - "AM" 或是 "PM"d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"D - 星期几,三个英文字母; 如: "Fri"F - 月份,英文全名; 如: "January"h - 12 小时制的小时; 如: "01" 至 "12"H - 24 小时制的小时; 如: "00" 至 "23"g - 12 小时制的小时,不.
2021-08-04 17:37:25
368
原创 php基础(05):常用文件处理函数
1.常用文件处理函数:(1)解析路径basename— 返回路径中的文件名部分:basename(string$path[,string$suffix]) $filename = __FILE__;echo $filename; //C:\wamp\www\demo.phpecho basename($filename); //demo.phpecho basename($filename,'.php'); //demo 扩展内容--魔术常量: __LINE__...
2021-08-04 17:06:08
380
原创 php基础(04):常用正则表达式
一、校验数字的表达式数字:^[0-9]*$ //^头字符,$尾字符,*匹配前面的子表达式零次或多次,[0-9]:0-9抽1个n位的数字:^\d{n}$ //\d匹配一个数字字符,{n}匹配n位至少n位的数字:^\d{n,}$ //{n,}至少n位m-n位的数字:^\d{m,n}$ //{m,n},匹配m-n位零和非零开头的数字:^(0|[1-9][0-9]*)$ // ^(非,|和非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(...
2021-08-04 16:41:48
160
原创 php基础(03):curl 网络请求
1.curl概述:PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。PHP中使用cURL实现Get和Post请求的方
2021-08-04 15:27:18
1776
Angle-Bootstrap-Admin-Template_v3.3.2.zip
2020-03-15
大型网站技术架构_核心原理与案例分析
2018-11-01
python3.6安装工具和步骤1
2018-06-13
FlashFxp_gr.rar
2014-06-25
成功交叉编译ffmpeg,sdl
2014-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人