自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 什么是悲观锁,乐观锁?

乐观锁总是假设最好的情况,认为共享资源每次被访问的时候不会出现问题,线程可以不停地执行,无需加锁也无需等待,只是在提交修改的时候去验证对应的资源(也就是数据)是否被其它线程修改了(具体方法可以使用版本号机制或 CAS 算法)。

2023-11-24 15:11:15 196

原创 主从复制读写分离?

通过这样的配置,主从复制实现了数据的一致性,而读写分离提高了系统的性能和可扩展性。需要注意的是,这只是一个简单的实现方法,实际应用中可能需要更复杂的配置和优化。主从复制和读写分离是常见的数据库架构策略,它们可以提高系统的性能和可靠性。

2023-11-24 15:03:21 189

原创 大表查询如何优化?

这些方法可以在处理大数据表时显著提高查询效率。

2023-11-24 15:01:42 256

原创 mysql union 和 union all区别?

都是用于合并两个或多个SELECT语句的结果集。它们之间的主要区别在于如何处理重复记录。时,需要根据具体的需求来决定。如果需要删除重复的记录,使用。如果需要保留所有记录,包括重复的记录,使用。

2023-11-24 14:49:18 593

原创 drop、delete与truncate的区别?

Truncate命令用于删除表中的所有数据,但保留表的结构。换句话说,表的结构将保持不变,表中原有的索引、约束等将保留。Delete命令用于删除表中的数据,可以根据条件删除。Delete语句会触发trigger,如果数据被删除后需要执行某些特定的操作,可以通过trigger来实现。另外,Delete操作可以回滚,如果在删除数据后发现误删或需要回滚,可以进行回滚操作。Drop命令用于删除整个表,包括表的结构和数据。使用此命令要非常小心,因为一旦表被删除,将无法恢复。

2023-11-24 14:46:38 44

原创 php中使用cdn

3. 修改静态资源链接:将应用中需要加速的静态资源(如图片、CSS 文件、JavaScript 文件)的链接替换为 CDN 的链接。4. 验证 CDN 加速效果:通过访问 CDN 的加速域名,验证静态资源是否成功被 CDN 加速。1. 选择合适的 CDN 服务提供商:根据需求和预算选择合适的 CDN 服务提供商,例如阿里云CDN、腾讯云 CDN、Cloudflare 等。7. 监控和调优:使用 CDN 服务提供商提供的监控工具,实时查看 CDN 加速效果、缓存命中率等指标,并根据数据进行调优和优化。

2023-11-24 14:29:37 376

原创 mysql的alter怎么使用?

ALTER TABLE 表名 ADD FOREIGN KEY (列名) REFERENCES 关联表名(关联列名);ALTER TABLE 表名 ADD PRIMARY KEY (列名);ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;ALTER TABLE 表名 MODIFY 列名 新数据类型;ALTER TABLE 表名 DROP COLUMN 列名;ALTER TABLE 旧表名 RENAME TO 新表名;ALTER TABLE 表名 ADD 列名 数据类型;

2023-11-24 14:24:31 335

原创 常见的数据结构有哪些?

数据结构分为和。数据的逻辑结构主要分为和。

2023-11-17 22:21:25 467

原创 PHP实现在数据库百万条数据中随机获取几条记录的方法

数据库中(mysql)随机获取几条数据很简单,但是如果一个表的数据基数很大,比如一千万,从一千万中随机产生10条数据,那就相当慢了,如果同时一百个人访问网站,处理这些个进程,对于一般的服务器来说,肯定是要死机的。mysql数据库获取随机数据的函数rand(),我建议轻易不要用这个,我写博客的时候试了一下,从16万数据里随机获取5条数据,用时14.02秒,这个耗费满惊人的。

2023-11-16 21:57:08 291

原创 单点登录实现?

(2)扩展性不强:如果将来搭建了多个服务器,虽然每个服务器都执行的是同样的业务逻辑,但是session数据是保存在内存中的(不是共享的),用户第一次访问的是服务器1,当用户再次请求时可能访问的是另外一台服务器2,服务器2获取不到session信息,就判定用户没有登陆过。简而言之,多个系统,统一登陆。补充:域名通过 “.” 号切分后,从右往左看,不包含 “.” 的是顶级域名,包含一个 “.”的是一级域名,如:baidu.com, 包含两个“.”的是二级域名,如:a. baidu.com ,以此类推。

2023-11-16 21:45:21 130

原创 redis的五种数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

2023-11-03 22:15:37 289

原创 redis相关的一些面试题?

这样用户可以注册多个socket,然后不断地调用select读取被激活的socket,redis服务端将这些socke置于队列中,然后,文件事件分派器,依次去队列中取,转发到不同的事件处理器中,提高读取效率。缓存穿透:假如某一时刻访问redis的大量key都在redis中不存在(比如黑客故意伪造一些乱七八糟的key),那么也会给数据造成压力,这就是缓存穿透,解决方案是使用布隆过滤器,它的作用就是如果它认为一个key不存在,那么这个key就肯定不存在,所以可以在缓存之前加一层布隆过滤器来拦截不存在的key。

2023-11-02 10:43:52 182

原创 语音转文字以及音频格式转换(推荐链接)

AAC转MP3 - 免费在线将AAC文件转换成MP3通义听悟-你的工作学习AI助手

2023-10-25 22:02:43 232 1

原创 单点登录是什么?

单点登录的本质就是在多个应用系统中共享登录状态。如果用户的登录状态是记录在 Session 中的,要实现共享登录状态,就要先共享 Session,比如可以将 Session 序列化到 Redis 中,让多个应用系统共享同一个 Redis,直接读取 Redis 来获取 Session。单点登录(Single Sign On, SSO)是指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的应用系统。

2023-10-19 23:53:08 205

原创 swoole和workman的区别?

workerman 是纯php写的网络框架.支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议,拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。swoole是c/c++写的网络通讯扩展,Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、HTTP、 WebSocket 等服务,让 PHP 不再局限于 Web 领域。2.实性能差不多,workerman更稳定,发现问题,更易维护。

2023-10-19 23:50:43 669

原创 Windows命令建立文件和文件夹?

例如:type nul> newtest.txt 或者 type nul>.txt。方式二:先使用cmd进入需要新建文件的根目录下,使用md或者。例如:md newtest 或者 mkdir newtest。2> 新建非空文件 echo [fileContent]>.例如:md c:\test\newtest。方式一:md【盘符:\】【路径\】新目录。例如:echo 文件中的内容>a.txt。1> 新建空文件 type nul>.例如:del newtest.txt。2. 删除文件 del*.*

2023-10-19 23:48:41 1873

原创 即时通讯或者推送消息的守护进程?开启几个进程?

b:使用nohup命令 , 比如 nohup php task.php & . 默认情况下 , 代码中echo或者print_r之类输出的文本会被输出到php代码同级目录的nohup.out文件中 . 如果你用exit命令或者关闭按钮等正常手段关闭终端 , 该进程不会被关闭 , 依然会在后台持续运行 . 但是如果终端遇到异常退出或者终止 , 该php进程也会随即退出 . 本质上 , 也并非稳定可靠的daemon方案 .守护进程的父进程是1号进程,也就是init进程。

2023-10-19 23:46:50 256

原创 thinkphp队列的使用?

但是,我这边没有生成,但是根据Queue.php源码可以看出,配置是在config.php文件中的一个键值对。看了网上其他的一些帖子说配置文件在统一目录下/config/queue.php。由于我是tp框架5.1的,所以选择了think-queue 1.1.6。由于框架版本原因可以选择适合的版本。

2023-10-19 23:41:11 400

原创 php定时任务

windows上和linux上有一个类似的cmd和bat文件,bat文件类似于shell文件,执行这个bat文件,就相当于依次执行里面的命令(当然,还可以通过逻辑来实现编程),所以,我们可以利用bat命令文件在windows服务器上面实现PHP定时任务。确定,这样一个定时任务就建立好了,在这个定时任务上右键,运行,这个定时任务就开始执行了,到点时,就会运行cron.bat处理,cron.bat再去执行php。而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择。

2023-10-19 23:39:10 261

原创 swoole 是什么?

使 PHP 开发人员可以编写高性能的协程 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。Swoole是一个为PHP用C和C++编写的基于事件的高性能异步& 协程并行网络通信引擎;

2023-10-19 23:37:59 276

原创 php消息推送

Workerman是一款运行在PHP环境下的高性能的异步事件驱动框架,由著名PHP框架YII的作者王盼创建。该框架通过使用PHP socket扩展实现了对WebSocket的支持,并在此基础上实现了处理TCP/UDP协议的能力。

2023-10-19 23:36:57 289

原创 在innodb引擎中,count(*)、count(1)、count(主键)、count(字段)哪个性能最高?

总体而言,count(*)和count(1)的性能相对较差,但在某些情况下可能由于优化器的优化而表现得相对较好。count(主键)和count(字段)的性能相对较好,但具体表现取决于主键或字段的类型以及是否有索引等因素。在实际应用中,需要根据具体场景选择合适的计数值来提高性能。在InnoDB引擎中,这四种计数值的效率高低取决于具体的数据库和数据表结构,无法一概而论哪个性能最高。但在某些情况下,由于优化器可能会将1视为常数,因此count(1)可能在性能上略好于count():统计所有行的数量。

2023-10-19 22:42:28 206

原创 where子句如何优化?

总之,优化 WHERE 子句需要考虑多方面因素,包括索引、数据类型、查询条件、数据库配置等。根据具体情况选择合适的优化方法可以提高查询性能。在数据库查询中,WHERE 子句对查询性能有很大的影响。

2023-10-19 22:39:48 202

原创 数据库 锁、索引、在实际开发中怎么设置和优化

总之,数据库锁和索引的设置和优化是一个复杂的过程,需要根据具体的业务场景、数据结构和查询需求进行综合考虑。(1) 理解锁类型:了解不同种类的锁,例如共享锁、排他锁、乐观锁和悲观锁,以及它们在解决并发问题时的适用场景。(4) 定期分析和维护索引:定期对数据库索引进行分析和维护,例如重建索引、优化索引策略等,以提高查询性能。(1) 选择适当的索引类型:根据实际需求选择适当的索引类型,例如B树索引、哈希索引、位图索引等。(4) 优化事务:尽量减少事务中的操作数量,缩短事务的持有锁的时间,以减少对其他操作的阻塞。

2023-10-18 23:36:04 215

原创 migration 与navicat

它提供了直观的界面和丰富的工具,让用户可以轻松地进行数据库设计、表格和视图的创建、索引和约束的定义、SQL查询的执行等。Navicat还支持数据备份和恢复、数据同步和转换、数据导入和导出等功能,可以满足不同层次的用户需求,包括开发人员、数据库管理员、数据分析师等。Migration主要针对的是数据的迁移或复制,从一个数据库迁移到另一个数据库,或者从一个环境复制到另一个环境。因此,两者的区别在于Migration主要关注数据的迁移/复制过程,而Navicat则是一款全面的数据库管理工具。

2023-10-18 23:34:15 160

原创 网站布局都有哪些?

这些布局方式有各自的优点和适用场景,选择哪种布局方式取决于网站的目标、用户群体以及设计师的个人偏好等因素。

2023-10-18 23:30:10 103

原创 网站seo优化?

网站使用SEO优化设置,可以参考以下步骤:

2023-10-18 23:27:38 57

原创 vue3压缩图片和代码?

压缩代码通常指的是对JavaScript和CSS代码进行压缩,这可以在发布代码之前在开发过程中进行。压缩图片通常需要在服务器端进行,可以通过修改服务器配置来实现。文件,该文件是压缩后的JavaScript代码。注意,你可能需要在你的构建过程中包含这个压缩的步骤,以确保在每次发布时都会进行代码压缩。CSS的压缩类似,可以使用CSSNano等工具进行。例如,如果你使用Webpack作为构建工具,可以使用。在Vue3中压缩图片和代码,通常是为了优化性能和用户体验。等插件进行JavaScript和CSS的压缩。

2023-10-18 23:25:57 143

原创 TinyPNG和Optimize.js区别?

综上所述,TinyPNG和Optimize.js都是为了提高网页性能和用户体验而设计的工具,但TinyPNG更专注于图片优化,而Optimize.js则还可以处理JavaScript代码。Optimize.js则是一个更广泛的工具,既可以用于图片优化,也可以用于JavaScript代码的压缩和优化。通过移除代码中的空格、注释、未使用的代码以及其他无效字符,它可以减小代码文件的大小,提高加载速度。它针对的是已经构建好的JavaScript文件,通过解析文件内容并对其进行优化,生成新的压缩后的代码文件。

2023-10-18 23:23:13 225

原创 AI在日常生活中有哪些应用?

此外,AI还在自然语言处理、艺术创作、自动驾驶等多个领域有着广泛的应用,已经成为当今社会科技创新和经济发展的重要推动力。

2023-10-18 23:21:56 930

原创 three.js实现3D图形渲染

创建几何体和材质:使用Three.js可以创建各种几何体和材质,并将它们添加到场景中。创建场景(scene):场景是Three.js中的顶级对象,用于容纳所有要渲染的对象。创建渲染器(renderer):渲染器用于将场景和相机中的对象渲染到屏幕上。这个代码创建了一个立方体的几何体和一个基本材质,然后将它们组合成一个网格(mesh)并添加到场景中。创建场景(scene):场景是Three.js中的顶级对象,用于容纳所有要渲染的对象。渲染场景:最后,使用渲染器将场景和相机中的对象渲染到屏幕上。

2023-10-18 23:20:51 592

原创 laravel框架的优缺点是什么?

能快速开发出功能,自带各种方便的服务,比如数据验证、队列、缓存、数据迁移、测试、artisan命令行等等,还有强大的ORM。4,大量的第三方开源库(composer收录的超过5500个包),可以快速方便的实现模块功能,第三方优秀的包,官方都有详细使用手册。5,安全机制非常齐全,提交表单的数据验证(验证有差不多80种,能想到的基本都有),提交数据时产生随机_token验证,避免非法提交,能避免跨域攻击和SQL注入。6,中间件和路由,对访问进行过滤及控制,调用函数类和方法前进行判断请求的合法性,避免非法请求;

2023-10-18 22:46:40 708

原创 tp5事务和加锁

在MySQL中,我们可以使用 SELECT ... FOR UPDATE 语句来实现加锁操作。在TP5中,我们可以通过配置文件 database.php 来配置MySQL数据库的连接信息。在加锁之后,我们可以执行我们的业务逻辑。在这个阶段,我们可以对数据库进行读写操作,或者执行其他的业务逻辑操作。以上就是TP5 MySQL加锁的实现流程。你可以根据实际需求将上述代码进行组合和调整,来实现你的具体业务逻辑。在业务逻辑执行完毕后,我们可以根据实际情况决定是否提交事务或者回滚事务。6. 提交事务或回滚事务。

2023-10-18 21:57:32 466

原创 laravel中锁以及事务的简单使用

共享:我可以读写加锁, 别人可以读加锁。排他:只有我 才 可以读写加锁, 也就是说,必须要等我提交事务,其他的才可以操作。二、简单例子实现加锁锁和事务在使用时需要配合使用,也就是用锁时需要先开启事务,事务提交时,会自动解锁。// 开启事务//共享锁 s锁 读锁//排他锁 x锁 写锁...

2023-10-17 21:15:57 1521

原创 php对接微信支付简要流程?面试时你会描述吗?

1.如果没有微信支付商会号,需要进行申请提交营业执照、身份证、银行账户2.如果有微信支付商会号可进行直接关联登录微信商户平台—产品中心—APPID授权管理—新增授权申请单,输入小程序APPID,进行授权绑定3.APPID和 appsecret是在微信服务号后台,在 开发-基本配置/开发者ID或者密码中查看。4.提交微信支付申请后需要在微信小程序—微信支付—商户号管理—待关联商户号—确认。

2023-10-15 16:45:41 192

原创 php的加密方式汇总

RSA 是一种非对称加密算法,可以使用 PHP 中的 openssl_public_encrypt() 和 openssl_private_decrypt() 函数来进行加密和解密。客户端和服务端使用同样的签名算法,来计算签名,当客户端提交的签名,和服务端提供的签名一致的时候,就签名成功。3.base64_encode() 对应的解密base_decode()用户客户端使用公钥加密数据,后台支付系统使用私钥解密数据。1.md5()一般用于密码的不可逆加密。一、单列散列函数加密。

2023-10-15 16:31:26 589

原创 面试中常问的linux命令。

tar -xvf start.tar -C usr/local //解压start.tar -cvf start.tar a.java b.java //将当前目录。tar -zcvf start.tar.gz a.java b.java //将。tar -zxvf start.tar.gz //解压start.tar.tar -xvf start.tar //解压start.tar压缩包,tar -zcvf start.tar.gz ./* //将当前目录。

2023-10-15 16:25:48 41

原创 常见的请求头,怎么用?

请求头(Request Headers)是在HTTP协议中用于传递关于请求的额外信息的部分。它包含了客户端(通常是浏览器或应用程序)与服务器之间进行通信所需的元数据。请求头的作用有以下几个方面:传递请求的附加信息:请求头可以携带一些客户端相关的信息,如用户代理(User-Agent)、接受的内容类型(Accept)、身份验证凭证(Authorization)等。这些信息可以帮助服务器更好地理解和处理请求。

2023-10-15 16:20:01 216

原创 websocket实时消息推送封装类

浏览器发出webSocket的连线请求,服务器发出响应,这个过程称为。,握手的过程只需要一次,就可以实现持久连接。

2023-10-13 21:34:24 548

原创 PHP实现阿里云短信服务

下载phpSDK,修改SmsDemo.php文件中找到getAcsClient方法,将其中的AccessKeyld和AccessKeySecret进行修改。在AccessKEY管理中获取AccessKey ID和AccessKey Secret(访问阿里云API的密钥)注册阿里云账号然后在云通信中选择短信服务,开通阿里云短信服务,需要申请一个签名和模板。把数组中的'TemplateParam'字段值,更换为你实际的模板内容中的变量。创建短信签名和短信模板,在阿里云短信服务管理控制台添加短信签名和短信模板。

2023-10-12 14:26:54 452

phpMailer老版本

phpMailer 是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用

2023-03-02

空空如也

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

TA关注的人

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