自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pandamf的专栏

php mysql

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 workman进阶应用 GatewayWorker 仿微信 做聊天室

GatewayWorker是基于Workerman开发的框架,专为快速开发TCP长连接应用设计,如即时通讯、物联网等。

2025-05-13 09:56:13 444

原创 vuex初识与使用,异步actions和getter

vuex是一个状态管理工具,所谓状态就是数据。vuex是一个插件,帮我们解决多组件共享数据的问题(例如:购物车,个人信息)

2025-05-06 16:41:08 163

原创 服务端字符过滤 与 SQL PDO防注入

关键点是这2个SQL的区别.其中第二步由于前台传入特殊字符单引号(')及#,在数据库中#为语句注释部分,则后续SQL语句不会被执行,可直接跳过我们的密码验证逻辑。username还可以是跳过验证。

2025-04-30 12:08:55 298

原创 使用vue3 脚手架创建项目

node_modules : 项目依赖包,其中包括很多基础依赖,自己也可以根据需要安装其他依赖assets文件夹:存放项目中用到的静态资源文件。例如:css样式表,图片资源等等。components文件夹:程序员封装的一些,可复用的组件,都要封装到components目录下。main.js文件: 项目的入口文件,整个项目的运行,要先执行main.js。App.vue文件:是项目的根组件。我们浏览器上看到的页面结构就是App.vue里面所呈现出来的。

2025-04-28 22:39:07 675

原创 零基础 学习Linux shell编程语法

Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。找出距此时2天之内创建的文件,同时基于find的结果,应用-exec之后的命令,即ls -l,从而可以直接显示出find找到文件的明显列表。

2025-04-27 14:42:18 823

原创 uniapp跳转和获取参数方式

1.1 原生组件跳转1.2 方法接口跳转。

2025-04-27 14:24:55 754

原创 php一些命名规范 和 css命名规范

头:header  内容:content/container  尾:footer  导航:nav  侧栏:sidebar。登录条:loginbar  标志:logo  广告:banner  页面主体:main  热点:hot。子菜单:submenu  搜索:search  友情链接:friendlink  页脚:footer。版权:copyright  滚动:scroll  内容:content  标签页:tab。新闻:news  下载:download  子导航:subnav  菜单:menu。

2025-04-26 14:43:19 376

原创 Python小游戏入门--pygame的基本使用

这里绘制了游戏的框框和标题 , 最后让程序等待5秒。

2025-04-26 14:35:22 394

原创 python中如何使用模块

在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。

2025-04-24 23:26:12 781

原创 浅析Mysql外键

此处创建2个表 分别是 `super_order` 和 `super_member` , 可以看到 mid 是 super_menber的外键。由于mid建立了外键约束 ,所以super_order 在插入数据的时候 , mid 必须是主表(super_member)中存在ID , 否则就会报错。外键是两表或多表之间建立一个关系,我们将这种关系叫做外键关系。表与表之间是存在关系的,这种我们叫做表关系,一般使用外键去维护。前者是 隐式内连接查询 , 后者是 显示内连接查询。

2025-04-23 09:12:54 307

原创 uniapp跳转和获取参数方式

1.1 原生组件跳转1.2 方法接口跳转。

2025-04-23 09:00:23 359

原创 定义python中的函数和类

需要注意的是,在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name__、__score__这样的变量名。如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问,所以,我们把Student类改一改:。在函数内部,可以调用其他函数。

2025-04-22 11:27:48 720

原创 Mysql 读写分离(3)之 schema.xml基本配置

当前配置只考虑 转发规则,不考虑分库和分表那些规则方案1 :该方案是balance是1的情况 readHost 负责全部读取 , writehost 负责写入方案2:如果dataHost节点的balance属性 改为2 ,则所有读操作都随机的在 writeHost、 readhost 上分发。方案3:在方案1的基础上,修改一下,万一主服务器挂了,从服务器继续负责读和写mycat管理端,可以看到 3台主机。

2025-04-22 11:01:47 959

原创 redis队列 和 秒杀应用

redis队列一般用于缓解数据库压力 ,诸如秒杀,邮件群发,消息推送等等redis的加入能很好的 帮助系统中 各个模块解耦。而Redis不仅可作为缓存服务器,还可用作消息队列。它的列表类型天生支持用作消息队列。如下图所示:对于服务器减少io 压力 有一定的帮助。

2025-04-21 16:53:48 315

原创 tp6 使用 第三方类 和创建自定义类

根目录下的 extend 是官方为我们创建的 扩展类库目录。自定义的类一般都放在这里。2.1 在 index.php 定义 extend//2.2 比如我现在定义一个验证码的类我在extend里 创建文件夹和文件 lib/Captchas.php那么Captchas.php的命名空间就是lib...由于tp的自动加载机制。那么我们在项目里可以直接使用。

2025-04-20 09:50:16 266

原创 几个常用的快速处理服务器命令和故障排查

Table_locks_immediate 表示立即释放表锁数,Table_locks_waited表示需要等待的表锁数,如果 Table_locks_immediate / Table_locks_waited > 5000,最好采用InnoDB引擎,因为InnoDB是行锁而MyISAM是表锁,对于高并发写入的应用InnoDB效果会好些.-sh /home/* | sort -nr //找出指定目录的文件 并由大到小 排序。-s ./* | sort -nr | head //显示前10个。

2025-04-18 15:46:37 849

原创 Python入门安装和语法基础

如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看。因为tuple不可变,所以代码更安全。

2025-04-17 14:57:18 891 1

原创 Mysql读写分离(2)-中间件mycat和实践方案

配置好第一篇的主从复制后, 还没有做到真正的读和写分离我们还需要一个中间件,把mysql的写操作和读操作分开。事实上 读写分离的类型有两种,一种是 基于程序代码内部实现,另一种是 基于中间代理层实现基于程序代码内部实现在代码中根据select,insert进行路由分类,这类方法也是目前生产环境应用最广泛的,优点是性能好,因为在程序代码中已经将读写的数据源拆分至两个,所以不需要额外的MySQL proxy解析SQL报文,在进行路由至不同数据库节点。缺点是通常该架构较复杂,运维成本相对较高。

2025-04-16 22:33:35 1012

原创 Mysql读写分离后的事务处理

这里记录下mycat触发行锁时 的日志额外的一点知识通过这个语句可以看到系统里的锁总结一下。单单读写分离配置后 事务安全需要借助mycat。

2025-04-16 22:20:38 245

原创 Mysql读写分离(1)-服务器的设置(主从复制)

1.简介1.简介随着网站访问和请求量的增加,单台数据库服务器的连接已耗尽,会出现连接请求还在等待,或是数据库服务器崩溃等现象,这时候我们考虑如何减少数据库的连接,可以通过优化代码、使用缓存、数据库读写分离等方式解决此问题。什么是读写分离:将数据库的读、写操作分别作用到不同的数据库(不同物理机)上。适用场景:读操作远大于写操作,包含大量复杂统计、离线计算等任务(比如定时按各维度对数据进行统计分析,或者结算佣金等)系统环境: linux centos 5.6 两台mysql版本: 5.6。

2025-04-15 10:07:06 612

原创 微信小程序-下拉滚动加载数据

view class="beauty">订单金额:{{item.price}}元</view>所谓工欲善其事,必先利其器,做程序之前咱们把思路整理一下 ,画流程图是比较好的方式。视图绑定 scrollToLower 方法 ,当离底部还有100时候触发;text: '到底啦!text: '加载更多'title: '加载中...',数据返回时 使用 concat 拼接。这里使用tp5.1 来做接口通讯。

2025-04-14 09:28:57 484

原创 单双线程的理解 和 lua基础语法

多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。1.2 像 redis ,lua这类软件就是单进程的 ,无论再多的操作请求 ,cpu只会生成一个进程来处理事情。

2025-04-13 23:28:37 587

原创 Redis 哨兵模式 搭建

假设主服务器宕机,哨兵1先检测到这个结果,系统并不会马上进行failover(故障切换)过程,仅仅是哨兵1主观的认为主服务器不可用,这个现象成为主观下线。当后面的哨兵也检测到主服务器不可用,并且数量达到一定值时,那么哨兵之间就会进行一次投票,投票的结果由一个哨兵发起,进行failover操作。当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。

2025-04-12 13:00:48 907

原创 PHP 用 workman 即时通讯,做个简版QQ

workerman的目标是让PHP开发者更容易的开发出基于socket的高性能的应用服务,而不用去了解PHP socket以及PHP多进程细节。workerman是一个高性能的PHP socket 服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、聊天室服务器、手机游戏服务器等。WorkerMan提供了HTTP协议、WebSocket协议以及非常简单的Text文本协议、可用于二进制传输的frame协议。

2025-04-11 10:28:35 523

原创 PHP 由0开始学习 正则表达式

以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。注意使用”[]”与”()”的区别,在于”[]”只能匹配单个字符,而”()”可以匹配任意长度的字符串。因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。这里的{5,12}和前面介绍过的{2}是类似的,只不过{2}匹配只能不多不少重复2次,{5,12}则是重复的次数不能少于5次,不能多于12次,否则都不匹配。

2025-04-10 11:05:15 713

原创 PHP 阿里云oss 使用指南

再程序里调用 ,比如上传文章图片场景 ,上传好后把 $result['oss-request-url'] oss的访问路径 ,保存到数据库中。'KeySecret' => 'KaqD1uAxxxxxxxxxxxxx', //您的Access Key Secret。'KeyId' => 'LTAI5tAhDgMxxxxxxx', //您的Access Key ID。要使用阿里云 oss sdk ,请先到阿里云下载 或用 copmposer 安装。2. php sdk使用。

2025-04-09 09:41:38 347

原创 Php laravel 留言板 curd 实战

首先我们用composer创建项目 , composer会根据当前的php版本 帮我们选择支持的最高版本laravel新版本比较激进 ,需要最低 php7 支持项目配置主要在根目录下的 .env 文件中主要是数据库配置 和 redis的配置注意 config / app.php 文件 ,改时区,一般默认是PRC。

2025-04-09 09:32:38 948

原创 微信小程序之微信授权登录

unionId : 如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。解密SDK下载地址 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html。//取出json里对应的值。//请求服务器,解密获取openId和unionId。

2025-04-08 14:08:08 221

原创 nginx实现负载均衡与例子详解

随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。这样就能保护 47.106.98.99 的真实ip 不暴露 , 真正暴露的是这个堡垒机的ip。在我们10次的刷新访问中,有3次是跳转到90这个服务器中,基本符合权重的算法。2. 这里用了权重的算法。

2025-04-08 11:07:29 1013

原创 ES6 新增特性 箭头函数

一般的匿名函数是这个样子 (匿名函数,即没有名称的函数)ES6增加了使用箭头(=>)语法定义函数表达式。

2025-04-07 22:35:41 430

原创 Linux下创建svn库 和 svn安装与操作

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。-rwxr-xr-x 1 root root 2243 Feb 12 2014 svnserve ,已经安装到系统服务了,安装成功。svn://192.168.133.130/www/svndata/website svn的地址。3.3 查看日志 显示这个文件的所有修改记录,及其版本号的变化。#修改的文件前面不能有空格,否则启动svn server出错。

2025-04-07 22:26:39 528

原创 Mysql忘记密码操作与mysql的远程登陆授权

首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。

2025-04-05 23:12:44 232

原创 Mysql explain中列的解析

ref:这个连接类型只有在查询使用了不是惟一或主键的键或者是这些类型的部分(比如,利用最左边前缀)时发生。Using index: 列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候。eq_ref:在连接中,MYSQL在查询时,从前面的表中,对每一个记录的联合都从表中读取一个记录,它在查询使用了索引为主键或惟一键的全部时使用。:查询可以利用的索引,如果没有任何索引可以使用,就会显示成null,这项对内容的优化时索引的调整非常重要。

2025-04-05 23:04:52 384

原创 Mysql慢查询设置 和 建立索引

很明显,这里情况是比较糟糕的,没有使用到任何索引,没有可以使用的索引,而且基本上是全表扫描 rows=245056,差不多整个表都扫描了一遍,如果数据量大了,真是不敢想象啊。现在情况已经比较好了,使用了刚刚建立的索引,而且只扫描了104行 ,type是ref ,不是最糟糕的all ,速度也快了不少。但是很明显这个 还用到一个user_id的字段 ,你一定会想到再帮user_id再建一个索引,可以,但是这不是一个最佳的方案。索引创建成功了,我们再来explain一下。修改后重启动mysql。

2025-04-05 23:03:23 334

原创 lamp 单独编译 mysql的pdo模块进去

使用 vi 打开你机器的 php.ini 文件,添加一段代码“extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so”,加载 pdo_mysql.so 文件。--with-php-config=/usr/local/php/bin/php-config 指定安装 PHP 的时候的配置。--with-pdo-MySQL=/usr/local/mysql/ 指定 MySQL 数据库的安装目录位置。

2025-04-03 16:13:46 427

原创 nginx的限流操作 和 压力测试

此时,我们就可以在Nginx上进行设置,对访问的IP地址和并发数进行相应的限制。至于这个 rate=2r/s ,这里的2 到底设置成多少合适,既不性能过剩又不会压力太大 ,我认为设置服务器的Qps 是可以的。上面这段代码 表示设置了 每秒允许 2个请求 ,突发 4个请求 ,没有延迟 ,我们用ab工具测试一下。上面我用ab工具 发出50个请求 ,可以看到有44个失败了,只有6个是成功了 ,证实限流设置成功了。如果不限流,黑客的扫描工具将会 更容易派上用场。2.1 首先来介绍来2条主要的代码。

2025-04-03 16:06:25 406

原创 javascript的同步代码和异步代码

随着互联网的发展,JavaScript作为前端开发的主要语言,也不断地发展和完善。在JavaScript中,同步代码和异步代码是两个非常重要的概念,也是开发过程中需要了解的基础知识。本文将对JavaScript中的同步代码和异步代码进行详细介绍,并分析它们在开发中的应用。

2025-04-02 10:48:29 308

原创 linux基本命令(4)操作文件常用的几个命令--mv , cp , rm

t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;-b :若需覆盖文件,则覆盖前先行备份。

2025-04-02 10:31:00 310

原创 linux基本命令(3)--网络命令netstat 和iptables用法

因为DROP虽然单方面的中断了连接,但是并不返回任何拒绝信息,因此连接客户端将被动的等到tcp session超时才能判断连接是否成功,这样早企业内部网络中会有一些问题,例如某些客户端程序或应用需要IDENT协议支持(TCP Port 113, RFC 1413),如果防火墙未经通知的应用了DROP规则的话,所有的同类连接都会失败,并且由于超时时间,将导致难以判断是。这种情况只能在非常少的情况见到。State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。

2025-04-01 09:56:39 734

原创 PHP 开发API接口签名验证

所谓man-in-the-middle攻击简单讲就是指恶意的黑客可以在客户端和服务器端的明文通信通道上做手 脚,黑客可以监听通信内容,偷取机密信息,甚至可以篡改通信内容,而通过加密后的通信内容理论上是无法被破译的。在仅适用短信登录做手机端app时,可以设置secret的过期时间,短信登录后,保存appid(userid)与密钥secret,每当用户打开APP时,先联网请求登录是否过期,过期重新短信登录获取新的secret。可以看到这个方法,需要传入必要的参数和appsecret ,从而生成sign。

2025-03-31 10:12:28 975

discuz四格插件

discuz广场四格插件 支持X1.5版本。有社区牛人,图片轮换,最新回复,热帖推介!!

2011-06-10

空空如也

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

TA关注的人

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