自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HONG的个人博客

技术改变生活方式

  • 博客(117)
  • 收藏
  • 关注

原创 PHP对接苹果支付全流程

对接苹果支付流程上相较于微信或者支付宝来说 后端做的代码是非常少的 但是需要注意的点很多对于支付 最重要的是知道这笔支付到底是不是真正意义上成交了,以及成交价格是否对应我们的商品价格 这是我们需要去判断的苹果支付对于微信支付和支付宝支付来说,有本质的区别。苹果支付的商品需要现在appstore里面去上架。所以整个支付流程如下APP内请求苹果SDK发起支付。并完成购买。支付成功之后APP端会传一段receipt_data(同时需要带上APP支付成功的交易单号)给后端去做验证。后端拿到这个数据之后,.

2022-02-23 22:00:00 4881 1

原创 高性能编程之线程与进程

进程的描述与控制重新补一下大学学习的知识 操作系统进程定义:在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间断性,以及其运行结果不可再现性的特征.由此,决定了通常的程序是不能参与并发执行的,否则,程序的运行也就失去了意义。为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了“进程”的概念.为了使参与并发执行的每个程序(含数据)都能独立的运行,在操作系统中必须为之配置一个专门的数据结构,称之为进程控制块(PCB).系统利用PCB来描述进程的基本情况和活动过程

2020-05-10 12:57:57 31897

原创 面试必看之浅谈HTTP与HTTPS区别

1.HTTP与HTTPS的定义HTTP:超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。HTTPSHTTPS (全称:Hyper Text Transfer Protocol over Secure......

2020-05-06 16:27:25 37231 2

原创 【PHP进阶】Rabbitmq的实际使用

我们来创建一个简单的 PHP 实例来使用 RabbitMQ。首先,你需要确保已经安装了 RabbitMQ 服务器,并且在 PHP 中安装了 RabbitMQ 扩展。然后,我们将创建一个简单的生产者和消费者来发送和接收消息。生产者发送消息到名为 "hello" 的队列,而消费者监听这个队列并打印出收到的消息.交换机根据消息的路由键将消息发送到一个或多个与之匹配的队列。它是消息的缓冲区,用于存储发送者发送的消息,以便等待接收者处理。:用于将消息路由到一个或多个消息队列的组件。:将队列与交换机关联的过程。

2024-02-29 16:44:07 523

原创 【PHP进阶】Redis管道技术的实际运用

然后,我们使用 pipeline() 方法创建了一个 Pipeline 对象,接着向 Pipeline 中添加了多个 Redis 命令(这里是设置键值对的命令),最后使用 exec() 方法一次性执行 Pipeline 中的所有命令。如果我们同时有10个查询命令要执行,如果不借助管道技术,那么就是10次网络IO请求,借助管道技术,我们可以将10条命令打包同时传输给Redis进行处理。这样,所有的命令会被打包发送给 Redis 服务器,在服务器端一次性执行,从而减少了网络往返的时间,提高了性能。

2024-02-26 10:54:57 685

原创 【PHP进阶】Redis管道技术的实际运用

Redis流水线技术是一种通过同时发出多个命令来提高性能的技术,而无需等待对每个单独命令的响应。大多数Redis客户端都支持流水线操作。– 官网英文直译。

2024-02-26 09:44:22 556

原创 【PHP进阶】Redis批处理缓存

Redis进阶使用

2024-02-22 13:53:29 549

原创 【云原生】深入理解 Docker Load 和 Docker Import 的区别

Docker 是一个流行的容器化平台,提供了丰富的命令和功能,其中和是两个常用的命令,用于加载 Docker 镜像,但它们在实现和使用上存在着显著的区别。

2024-01-08 16:56:32 1227

原创 docker离线安装教程

参考原文地址 https://cloud.tencent.com/developer/article/2157734。6. 在 /usr/lib/systemd/system/ 目录下创建docker.service 文件。在某些特定的场景,比如一些主机只能在内网访问,但是又需要安装docker,我们应当如何安装呢?将docker注册成系统服务(记得kill docker服务后,再执行这一步哦)

2024-01-08 14:27:59 595

原创 最全Jenkins发布golang正式环境包教程

文章目录前言一、Jenkins安装流程二、有可能会踩的坑1. 提示传输失败前言这篇文章讲手把手教你golang如何使用jenkins打包发布到线上环境一、Jenkins安装流程在jenkins服务器上安装对应的go环境新建Item首先创建源码管理然后构建执行命令export GO_HOME=/usr/local/goexport GO_ROOT=/usr/local/goexport GO_PATH=/opt/goexport GOPROXY=https://goproxy.c

2023-06-25 15:00:18 722

原创 两个整形数组和的差最小

【代码】两个整形数组和的差最小。

2023-06-19 17:32:24 134

原创 [深层次分析]Thinkphp项目 mysql连接报 SQLSTATE[HY000] [2006] MySQL server has gone away

当我们看到mysql has gone away这样的报错,翻译理解就是MySQL服务器已经不复存在其实就是指client和MySQL server之间的链接断开了。

2023-04-12 15:01:24 1738 1

原创 【建议收藏】PHP单例模式详解以及实际运用

单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)、大白话:对于PHP而言 在一次生命周期中,如果使用了单例模式。我们不管实例化多少次。整个生命周期只会存在一个实例。

2023-03-21 11:28:18 667

原创 golang如何使用rocketmq 附加闭坑指南 建议收藏!!!

当我们的业务达到一定规模,很多业务需要解耦,以及需要流量削峰的时候,我们需要使用MQ来让我们系统能够正常运转。由于rocketmq go 包使用pullConsumer还没实现。所以目前只能使用Subscribe来消费。

2023-03-08 11:13:14 2078

原创 如何简单实现高性能点赞?【呕心力作】

实现具体的逻辑有不同的方案,具体选择的方案需要根据业务实际情况来进行考虑。所以能够一个个初始化进行操作。如果并发量很高的话,前面的方案可能会直接冲爆mysql。

2023-03-02 16:01:44 229

原创 【云原生】之Docker搭建rocketmq

其中 172.26.16.1 为宿主机IP地址。搭建NameServer。

2023-02-28 17:07:38 180

原创 PHP对接腾讯云内容审核平台

我们首先需要拿到腾讯云的secret_id与secret_key。然后我们传入对应需要审核的文本即可。腾讯那边会给对应的返回标签。首先我们需要引入腾讯云的包。

2023-02-24 15:16:31 421

原创 gin框架中间件深度解析(面试必看)

Gin在golang领域是一个非常有名的框架,也是github上面star最高的一个框架,简单易学,效率还高。所以我们大部分web开发都会使用gin框架来进行开发。但是Gin框架里面有一个比较关键的知识点,其中一个就是中间件。(不只是Gin,很多其他框架也是有中间件的概念)

2023-01-28 17:59:55 905

原创 标签设计方案

根据用户ID取模分片 保证数据均匀落表(同时保证同一用户的身份信息在同一个表上)(缺点:扩容需要做大数据量数据迁移)采用redis队列+go协程来进行洗标签。结合go高并发来实现标签的快速清洗入库以及存储bitmaps。对于存储所有的标签的key值 大约100M的空间足以支持。采用一对多的存储方式 即一个用户对应多条身份标签。按照400W用户 200个标签来设计的话。单个用户耗费的内存 0.0000248M。400W用户耗费内存 99.2M左右。单个标签预计消耗内存0.5M。总涉及标签数据 8亿条数据。

2023-01-09 15:21:00 869

原创 关于海量级存储用户标签体系架构

对于我们运营来说,需要给用户打上不同的身份标签。比如用户是否偏重,身高范围,是不是我们的会员。。。等等一些标签。比如我们有100W用户。我们需要来给100W用户打上接近200个不同身份的标签应该如何去做?一是采用新增列的方式来新增用户身份。一对一存储,但是这种存在的弊端是我们在新增用户身份时,每次都需要手动新增一列。来保存用户新的身份。而且有多少身份就需要多少列,对于mysql的性能会急剧降低。尽管我们可以进行垂直拆分来增加性能。但也会让mysql更难维护。以及扩展性变的很差。二是采用一对多的形式来存储用户

2022-12-06 16:00:21 2103

原创 一篇文章搞清楚Redis 缓存预热,缓存击穿,缓存雪崩,缓存穿透。

我们一般的系统,在达到一定QPS之后,都会启用缓存来抗压。而大部分缓存解决方案都是用的redis。Redis具有简单,稳定,数据可持久化等特点。得到了很多公司的实际应用。使用Redis 在达到一定的业务场景的时候,就会出现我们经常在面试中遇到的关于缓存的几个问题。缓存预热,缓存穿透,缓存击穿,缓存雪崩。

2022-11-29 09:34:56 1538

原创 mysql核心-innodb与myisam详细解读

mysql我们经常用到,我们对于mysql表的存储引擎认识又有多少呢,这篇文章会告诉你关于mysql存储引擎相关内容数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据;不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。具体实际应用场景灵活多变。参考文献。

2022-11-02 14:45:17 865

原创 supervisor开启监控面板

我们如何开启supervisor的可视化监控配置呢?在配置服务器服务时,记得开发相关端口以及防火墙配置。

2022-10-28 09:21:10 454

原创 3分钟用Go搭建一个喝水提醒通知

有的时候工作起来经常忘记喝水。我们如何设定一个自己的喝水消息提醒呢?

2022-10-17 10:04:13 339

原创 docker常用命令

【代码】docker常用命令。

2022-09-21 10:41:13 221

原创 Mysql连接无效(invalid connection)解决方案

gorm 提示上述报错 获得不合法的链接。

2022-09-20 11:07:47 2958

原创 golang数据库连接池参数设置

可用查看mysql服务器上的连接信息,Command表示连接的当前状态,Command为Sleep时表示休眠、空闲状态,Time表示此状态的已持续时长;当连接持续空闲时长达到maxIdleTime后,该连接就会被关闭并从连接池移除,哪怕当前空闲连接数已经小于SetMaxIdleConns(maxIdleConns)设置的值。maxLifeTime必须要比mysql服务器设置的wait_timeout小,否则会导致golang侧连接池依然保留已被mysql服务器关闭了的连接。连接池里面的连接最大空闲时长。

2022-09-20 10:59:54 2567

原创 php实现排名和超过多少用户比率

我们项目中有给用户打分。分值分别为100 100 100 90 90 80 80 70 60 60如果是第一名 那么我们预期的结果是超越100%的用户。如果分数是90 那么应该是超越50%的用户。

2022-09-13 17:00:36 404

原创 go判断结构体是否实现接口的几种方式

我们在某些特点场景下,需要判断我们定义的结构体是否实现了我们制定的接口。

2022-08-23 09:25:50 652

原创 手把手教你搭建ELK-新手必看-第六章:搭建filebeat

我们将在生产环境服务器上面搭建filebeat,来进行日志的收集,收集好了传输到redis。到一章就完成了ELK所有的相关模块的搭建。现在有日志之后你就能在kibana里面去查看了。kibana支持KQL语法查询 这里附上KQL语法链接下面是整个架构图。

2022-08-19 16:39:33 548

原创 手把手教你搭建ELK-新手必看-第五章:搭建redis

我们一样使用docker来搭建redis。使用docker搭建redis非常简单。redis的搭建非常简单 直接一条docker命令就能跑起来 如果在云服务器记得打开6379端口限制。

2022-08-18 17:30:40 455

原创 手把手教你搭建ELK-新手必看-第四章:搭建logstash

前面我们搭建好了ES和kibana,这篇文章我们开始搭建logstash。例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2022-08-17 13:56:07 602

原创 手把手教你搭建ELK-新手必看-第三章:搭建kibana

这一篇文章我们继续接着上一篇。上一篇已经完成ES搭建,那么这篇文章我们开始搭建kibana今天完成了搭建kibana。下一篇文章我们将搭建logstash。

2022-08-15 10:09:59 775

原创 手把手教你搭建ELK-新手必看-第二章:搭建ES

首先我们来搭建ELK中的ES。ES上一篇我们有介绍过,是一个开源分布式搜索引擎。今天完成了es的搭建以及用户密码账号的设置。下一章我们就开始搭建kibana,这一步的用户名称和密码在搭建kibana的时候有作用。今天先到这里。.........

2022-08-12 14:13:57 742

原创 手把手教你搭建ELK-新手必看-第一章:什么是ELK?

ELK是三个开源软件的缩写,Elasticsearch、Logstash、Kibana。它们都是开源软件。不过现在还新增了一个 Beats,它是一个轻量级的日志收集处理工具(Agent),Beats 占用资源少,适合于在各个服务器上搜集日志后传输给 Logstash,官方也推荐此工具,目前由于原本的 ELK Stack 成员中加入了 Beats 工具所以已改名为 Elastic Stack。............

2022-08-09 15:23:57 562

原创 MySQL数据库-优化-详细优化-必看

mysql优化

2022-08-03 13:54:28 141

原创 PHP踩坑记录-empty判断浮点型

如果用empty判断浮点型需要注意的地方。

2022-08-03 13:49:33 238

原创 mysql 查询某字段中以逗号分隔的字符串的方法

现在有如下场景。我们有一个案例表。每一个案例对应多个标签,一个标签对应一个案例。我们在前台做分页的时侯,需要对多个标签进行与匹配表数据结构如下这里主要的知识点是mysql的行转列,有多行数据如果拼成一列去展示出来...

2022-07-21 11:13:59 3302

原创 redis电商秒杀设计

在电商业务中,我们经常会遇到秒杀的业务情况,我们如何做到高成功抢购率以及实现不超卖的情况。对于这种涉及到高并发的业务,我们通常会使用nosql去做处理。等到逻辑处理成功后才写库。并不只是有上述方案可以实现秒杀业务,具体业务情况需要具体分析。上面还有很多的附属业务的逻辑没有实现。比如支付问题,用户取消抢购成功的商品问题。...

2022-07-18 17:06:44 246

原创 gin注册自定义中间件失效

gin使用总结

2022-07-14 15:43:16 501

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除