PHP
smallmww
一枚不断学习的程序员
展开
-
主从复制读写分离?
通过这样的配置,主从复制实现了数据的一致性,而读写分离提高了系统的性能和可扩展性。需要注意的是,这只是一个简单的实现方法,实际应用中可能需要更复杂的配置和优化。主从复制和读写分离是常见的数据库架构策略,它们可以提高系统的性能和可靠性。原创 2023-11-24 15:03:21 · 192 阅读 · 0 评论 -
mysql union 和 union all区别?
都是用于合并两个或多个SELECT语句的结果集。它们之间的主要区别在于如何处理重复记录。时,需要根据具体的需求来决定。如果需要删除重复的记录,使用。如果需要保留所有记录,包括重复的记录,使用。原创 2023-11-24 14:49:18 · 602 阅读 · 0 评论 -
drop、delete与truncate的区别?
Truncate命令用于删除表中的所有数据,但保留表的结构。换句话说,表的结构将保持不变,表中原有的索引、约束等将保留。Delete命令用于删除表中的数据,可以根据条件删除。Delete语句会触发trigger,如果数据被删除后需要执行某些特定的操作,可以通过trigger来实现。另外,Delete操作可以回滚,如果在删除数据后发现误删或需要回滚,可以进行回滚操作。Drop命令用于删除整个表,包括表的结构和数据。使用此命令要非常小心,因为一旦表被删除,将无法恢复。原创 2023-11-24 14:46:38 · 44 阅读 · 0 评论 -
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 · 377 阅读 · 0 评论 -
PHP实现在数据库百万条数据中随机获取几条记录的方法
数据库中(mysql)随机获取几条数据很简单,但是如果一个表的数据基数很大,比如一千万,从一千万中随机产生10条数据,那就相当慢了,如果同时一百个人访问网站,处理这些个进程,对于一般的服务器来说,肯定是要死机的。mysql数据库获取随机数据的函数rand(),我建议轻易不要用这个,我写博客的时候试了一下,从16万数据里随机获取5条数据,用时14.02秒,这个耗费满惊人的。原创 2023-11-16 21:57:08 · 296 阅读 · 0 评论 -
单点登录实现?
(2)扩展性不强:如果将来搭建了多个服务器,虽然每个服务器都执行的是同样的业务逻辑,但是session数据是保存在内存中的(不是共享的),用户第一次访问的是服务器1,当用户再次请求时可能访问的是另外一台服务器2,服务器2获取不到session信息,就判定用户没有登陆过。简而言之,多个系统,统一登陆。补充:域名通过 “.” 号切分后,从右往左看,不包含 “.” 的是顶级域名,包含一个 “.”的是一级域名,如:baidu.com, 包含两个“.”的是二级域名,如:a. baidu.com ,以此类推。原创 2023-11-16 21:45:21 · 141 阅读 · 0 评论 -
redis相关的一些面试题?
这样用户可以注册多个socket,然后不断地调用select读取被激活的socket,redis服务端将这些socke置于队列中,然后,文件事件分派器,依次去队列中取,转发到不同的事件处理器中,提高读取效率。缓存穿透:假如某一时刻访问redis的大量key都在redis中不存在(比如黑客故意伪造一些乱七八糟的key),那么也会给数据造成压力,这就是缓存穿透,解决方案是使用布隆过滤器,它的作用就是如果它认为一个key不存在,那么这个key就肯定不存在,所以可以在缓存之前加一层布隆过滤器来拦截不存在的key。原创 2023-11-02 10:43:52 · 182 阅读 · 0 评论 -
单点登录是什么?
单点登录的本质就是在多个应用系统中共享登录状态。如果用户的登录状态是记录在 Session 中的,要实现共享登录状态,就要先共享 Session,比如可以将 Session 序列化到 Redis 中,让多个应用系统共享同一个 Redis,直接读取 Redis 来获取 Session。单点登录(Single Sign On, SSO)是指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的应用系统。原创 2023-10-19 23:53:08 · 205 阅读 · 0 评论 -
即时通讯或者推送消息的守护进程?开启几个进程?
b:使用nohup命令 , 比如 nohup php task.php & . 默认情况下 , 代码中echo或者print_r之类输出的文本会被输出到php代码同级目录的nohup.out文件中 . 如果你用exit命令或者关闭按钮等正常手段关闭终端 , 该进程不会被关闭 , 依然会在后台持续运行 . 但是如果终端遇到异常退出或者终止 , 该php进程也会随即退出 . 本质上 , 也并非稳定可靠的daemon方案 .守护进程的父进程是1号进程,也就是init进程。原创 2023-10-19 23:46:50 · 257 阅读 · 0 评论 -
thinkphp队列的使用?
但是,我这边没有生成,但是根据Queue.php源码可以看出,配置是在config.php文件中的一个键值对。看了网上其他的一些帖子说配置文件在统一目录下/config/queue.php。由于我是tp框架5.1的,所以选择了think-queue 1.1.6。由于框架版本原因可以选择适合的版本。原创 2023-10-19 23:41:11 · 408 阅读 · 0 评论 -
php定时任务
windows上和linux上有一个类似的cmd和bat文件,bat文件类似于shell文件,执行这个bat文件,就相当于依次执行里面的命令(当然,还可以通过逻辑来实现编程),所以,我们可以利用bat命令文件在windows服务器上面实现PHP定时任务。确定,这样一个定时任务就建立好了,在这个定时任务上右键,运行,这个定时任务就开始执行了,到点时,就会运行cron.bat处理,cron.bat再去执行php。而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择。原创 2023-10-19 23:39:10 · 262 阅读 · 0 评论 -
swoole 是什么?
使 PHP 开发人员可以编写高性能的协程 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。Swoole是一个为PHP用C和C++编写的基于事件的高性能异步& 协程并行网络通信引擎;原创 2023-10-19 23:37:59 · 277 阅读 · 0 评论 -
php消息推送
Workerman是一款运行在PHP环境下的高性能的异步事件驱动框架,由著名PHP框架YII的作者王盼创建。该框架通过使用PHP socket扩展实现了对WebSocket的支持,并在此基础上实现了处理TCP/UDP协议的能力。原创 2023-10-19 23:36:57 · 296 阅读 · 0 评论 -
在innodb引擎中,count(*)、count(1)、count(主键)、count(字段)哪个性能最高?
总体而言,count(*)和count(1)的性能相对较差,但在某些情况下可能由于优化器的优化而表现得相对较好。count(主键)和count(字段)的性能相对较好,但具体表现取决于主键或字段的类型以及是否有索引等因素。在实际应用中,需要根据具体场景选择合适的计数值来提高性能。在InnoDB引擎中,这四种计数值的效率高低取决于具体的数据库和数据表结构,无法一概而论哪个性能最高。但在某些情况下,由于优化器可能会将1视为常数,因此count(1)可能在性能上略好于count():统计所有行的数量。原创 2023-10-19 22:42:28 · 207 阅读 · 0 评论 -
数据库 锁、索引、在实际开发中怎么设置和优化
总之,数据库锁和索引的设置和优化是一个复杂的过程,需要根据具体的业务场景、数据结构和查询需求进行综合考虑。(1) 理解锁类型:了解不同种类的锁,例如共享锁、排他锁、乐观锁和悲观锁,以及它们在解决并发问题时的适用场景。(4) 定期分析和维护索引:定期对数据库索引进行分析和维护,例如重建索引、优化索引策略等,以提高查询性能。(1) 选择适当的索引类型:根据实际需求选择适当的索引类型,例如B树索引、哈希索引、位图索引等。(4) 优化事务:尽量减少事务中的操作数量,缩短事务的持有锁的时间,以减少对其他操作的阻塞。原创 2023-10-18 23:36:04 · 218 阅读 · 0 评论 -
migration 与navicat
它提供了直观的界面和丰富的工具,让用户可以轻松地进行数据库设计、表格和视图的创建、索引和约束的定义、SQL查询的执行等。Navicat还支持数据备份和恢复、数据同步和转换、数据导入和导出等功能,可以满足不同层次的用户需求,包括开发人员、数据库管理员、数据分析师等。Migration主要针对的是数据的迁移或复制,从一个数据库迁移到另一个数据库,或者从一个环境复制到另一个环境。因此,两者的区别在于Migration主要关注数据的迁移/复制过程,而Navicat则是一款全面的数据库管理工具。原创 2023-10-18 23:34:15 · 160 阅读 · 0 评论 -
AI在日常生活中有哪些应用?
此外,AI还在自然语言处理、艺术创作、自动驾驶等多个领域有着广泛的应用,已经成为当今社会科技创新和经济发展的重要推动力。原创 2023-10-18 23:21:56 · 946 阅读 · 0 评论 -
three.js实现3D图形渲染
创建几何体和材质:使用Three.js可以创建各种几何体和材质,并将它们添加到场景中。创建场景(scene):场景是Three.js中的顶级对象,用于容纳所有要渲染的对象。创建渲染器(renderer):渲染器用于将场景和相机中的对象渲染到屏幕上。这个代码创建了一个立方体的几何体和一个基本材质,然后将它们组合成一个网格(mesh)并添加到场景中。创建场景(scene):场景是Three.js中的顶级对象,用于容纳所有要渲染的对象。渲染场景:最后,使用渲染器将场景和相机中的对象渲染到屏幕上。原创 2023-10-18 23:20:51 · 605 阅读 · 0 评论 -
tp5事务和加锁
在MySQL中,我们可以使用 SELECT ... FOR UPDATE 语句来实现加锁操作。在TP5中,我们可以通过配置文件 database.php 来配置MySQL数据库的连接信息。在加锁之后,我们可以执行我们的业务逻辑。在这个阶段,我们可以对数据库进行读写操作,或者执行其他的业务逻辑操作。以上就是TP5 MySQL加锁的实现流程。你可以根据实际需求将上述代码进行组合和调整,来实现你的具体业务逻辑。在业务逻辑执行完毕后,我们可以根据实际情况决定是否提交事务或者回滚事务。6. 提交事务或回滚事务。原创 2023-10-18 21:57:32 · 478 阅读 · 0 评论 -
php对接微信支付简要流程?面试时你会描述吗?
1.如果没有微信支付商会号,需要进行申请提交营业执照、身份证、银行账户2.如果有微信支付商会号可进行直接关联登录微信商户平台—产品中心—APPID授权管理—新增授权申请单,输入小程序APPID,进行授权绑定3.APPID和 appsecret是在微信服务号后台,在 开发-基本配置/开发者ID或者密码中查看。4.提交微信支付申请后需要在微信小程序—微信支付—商户号管理—待关联商户号—确认。原创 2023-10-15 16:45:41 · 195 阅读 · 0 评论 -
php的加密方式汇总
RSA 是一种非对称加密算法,可以使用 PHP 中的 openssl_public_encrypt() 和 openssl_private_decrypt() 函数来进行加密和解密。客户端和服务端使用同样的签名算法,来计算签名,当客户端提交的签名,和服务端提供的签名一致的时候,就签名成功。3.base64_encode() 对应的解密base_decode()用户客户端使用公钥加密数据,后台支付系统使用私钥解密数据。1.md5()一般用于密码的不可逆加密。一、单列散列函数加密。原创 2023-10-15 16:31:26 · 610 阅读 · 0 评论 -
面试中常问的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 · 42 阅读 · 0 评论 -
常见的请求头,怎么用?
请求头(Request Headers)是在HTTP协议中用于传递关于请求的额外信息的部分。它包含了客户端(通常是浏览器或应用程序)与服务器之间进行通信所需的元数据。请求头的作用有以下几个方面:传递请求的附加信息:请求头可以携带一些客户端相关的信息,如用户代理(User-Agent)、接受的内容类型(Accept)、身份验证凭证(Authorization)等。这些信息可以帮助服务器更好地理解和处理请求。原创 2023-10-15 16:20:01 · 216 阅读 · 0 评论 -
PHP实现阿里云短信服务
下载phpSDK,修改SmsDemo.php文件中找到getAcsClient方法,将其中的AccessKeyld和AccessKeySecret进行修改。在AccessKEY管理中获取AccessKey ID和AccessKey Secret(访问阿里云API的密钥)注册阿里云账号然后在云通信中选择短信服务,开通阿里云短信服务,需要申请一个签名和模板。把数组中的'TemplateParam'字段值,更换为你实际的模板内容中的变量。创建短信签名和短信模板,在阿里云短信服务管理控制台添加短信签名和短信模板。原创 2023-10-12 14:26:54 · 456 阅读 · 0 评论 -
双机备份?
在系统正常情况下,工作机为应用系统提供服务,备份机监视工作机的运行情况(一般是通过心跳诊断,工作机同时也在检测备份机是否正常),当工作机出现异常,不能支持应用系统运营时,备份机主动接管工作机的工作,继续支持关键应用服务,保证系统不间断的运行。第二种,双机互备方式则是在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,这种方式实际上是双机热备方案的一种应用。原创 2023-10-10 14:01:18 · 339 阅读 · 0 评论 -
php发送get、post请求的6种方法简明总结?
这篇文章主要介绍php发送get、post请求的6种方法简明总结,分别为使用file_get_contents 、fopen、fsockopen、curl来发送GET和POST请求,需要的朋友可以参考下。原创 2023-10-10 13:58:40 · 542 阅读 · 2 评论 -
curl会话?
它目前支持 http、https、ftp、gopher、telnet、dict、file 和 ldap 协议,同时也支持 HTTPS 认证、HTTP POST、 FTP 上传、代理、cookies 和 用户名 + 密码的认证等。需要注意的是,对于安全性要求较高的场景,建议对服务器证书进行验证,以确保与可信任的服务器进行通信,防止中间人攻击。通过cURL会话,PHP可以方便地进行HTTP/HTTPS请求,获取服务器响应,并进行相应的处理和解析。它可以与各种类型的服务器、使用各种类型的协议进行连接和通讯。原创 2023-08-27 11:06:38 · 216 阅读 · 0 评论 -
什么是请求头?常见的请求头有哪些?
请求头(Request Headers)是在HTTP协议中用于传递关于请求的额外信息的部分。它包含了客户端(通常是浏览器或应用程序)与服务器之间进行通信所需的元数据。请求头的作用有以下几个方面:传递请求的附加信息:请求头可以携带一些客户端相关的信息,如用户代理(User-Agent)、接受的内容类型(Accept)、身份验证凭证(Authorization)等。这些信息可以帮助服务器更好地理解和处理请求。原创 2023-08-26 11:04:20 · 3398 阅读 · 0 评论 -
php后端接收富文本时过滤标签?
param() 函数中默认为true,表示过滤标签,修改为false。我们在写php后端接口时直接获取前端传过来的富文本数据时会过滤掉标签。可以用以下方法进行解决。原创 2023-08-10 14:44:44 · 133 阅读 · 0 评论 -
PHP三级联动详细代码(全)
有时在项目中常常会用到三级联动,那么怎么php怎么制作三级联动呢?话不多说,直接上代码原创 2023-08-09 23:48:03 · 215 阅读 · 0 评论 -
什么是单点登录?
我们在真正的项目开发中一个项目往往是大型的,这时候会把一个单系统拆分成多个子系统,比如淘宝和天猫,虽然是两个系统,但隶属于一个公司开发的产品,当我们登录其中一个时,另一个也会登录。原创 2023-08-09 21:35:45 · 38 阅读 · 0 评论 -
将tp5项目、fastadmin项目部署到服务器宝塔面板
将tp5项目、fastadmin项目部署到服务器宝塔面板原创 2023-08-07 16:47:27 · 1192 阅读 · 0 评论 -
php获取随机订单号(封装函数)
作为一个开发人员,生成订单时常常需要获取一段随机码来表示订单号,并且订单号一般包含的特定的时间日期等信息,临时现写一个比较浪费时间,这里有一个封装好的生成随机订单号的函数,需要时直接调用即可。由于我是基于fastadmin框架api写接口时使用的这个函数,在调用时只需要。原创 2023-08-07 15:12:03 · 423 阅读 · 0 评论 -
php获取随机不重复数字(封装函数直接拿来用)
在PHP中获取随机值这种操作非常常见,比如订单号,密码加密,以及验证码等,那么在本文介绍一种获取随机不重复数字的函数。原创 2023-08-07 15:01:41 · 416 阅读 · 0 评论 -
fastadmin、vue、react图标库适用于多种框架
fastadmin、vue、react图标库适用于多种框架原创 2023-08-07 14:32:34 · 1168 阅读 · 0 评论 -
fastadmin框架怎么重定向至后台模块
fastadmin框架默认打开指向的是前端index模块部分的页面,有时我们需要切换至后台非常复杂,这时就需要进行一下重定向。原创 2023-08-07 09:58:03 · 1596 阅读 · 0 评论 -
php接口利用where()多条件查询,通过一个接口举一个例子
php接口利用where()多条件查询原创 2023-07-27 17:50:22 · 453 阅读 · 0 评论 -
linux实现定时备份文件到百度网盘详细教程
Centos7+python2.7.5下利用crontab+bypy实现自动备份数据到百度网盘。笔者在制作过程中使用的是Xshell7软件连接linux服务器,当然你也可以使用宝塔面板上的终端来进行相关命令的操作,原创 2023-07-16 17:30:04 · 2416 阅读 · 4 评论 -
PHP多文件分片压缩下载实现的详细介绍(二)
PHP多文件分片压缩下载实现的详细介绍原创 2023-07-15 14:07:43 · 100 阅读 · 1 评论 -
PHP多文件压缩并分片下载文件详细介绍,附上完整代码
PHP多文件压缩并分片下载文件详细介绍,附上完整代码原创 2023-07-15 11:24:08 · 548 阅读 · 1 评论