自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker基础操作

docker commit -m="php-nginx" -a="作者" 3fe9 php-nginx:1.0。运行容器:7e1c17532380代表镜像id,可通过docker images进行查看安装的镜像。docker save 镜像id -o 存储路径 镜像名字:镜像标签。1.容器生成新镜像:可不加版本,去掉自己镜像名后的‘:版本’即可。2.删除镜像:docker rmi 7e1c。3.查看所有容器:docker ps -a。删除容器: ed999代表容器id。删除镜像: 7e1c代表镜像id。

2023-04-15 00:00:50 171

原创 CentOS7 安装docker

【代码】CentOS 安装docker。

2023-04-14 22:51:12 142

原创 高并发-限流削峰

【代码】高并发-限流削峰。1.计数器限流、2.滑动窗口限流

2022-03-10 17:05:14 527

原创 MySQL覆盖索引为什么不用回表

一级索引:聚簇索引即主键索引二级索引:非聚簇索引一级B+Tree:叶子节点保存着键(id的值)和数据(全部字段的值)二级B+Tree:叶子节点保存着键(索引字段的值)和数据(主键索引值)查询 一级索引,根据一级B+Tree查询到数据,直接返回数据查询 二级索引,根据二级B+Tree查询到对应的聚簇索引,再根据聚簇索引在一级B+Tree里查询到相应数据查询 一级索引只需要扫描一次B+Tree。查询 二级索引需要扫描两次B+Tree。根据二级B+Tree扫描的结果,再去一级B+Tree里..

2022-03-03 17:34:48 1415

原创 MySQL 高性能优化

1. LIMIT优化使用limit随着offset增大,查询的速度会越来越慢。limit查询会把前边的数据都取出来,比如limit 100000, 10时会把前10万条数据取出找到对应的位置,再取10条数据。因此你的offset的值越大查询的数据就越多所以我们就需要对limit进行优化:测试数据共计约100W条1. 未优化SELECT SQL_NO_CACHE * FROM `ceshi` ORDER BY `id` DESC LIMIT 900000, 10;2. 子查询优化

2022-03-03 10:07:47 382

原创 redis 管道(pipeline)、事务(multi)、普通、lua脚本性能对比

<?phpset_time_limit(0);ini_set('memory_limit','1024M');$redis = new Redis();G('1');$redis->connect('127.0.0.1');//不具备原子性 ,管道//$redis->pipeline();$redis->multi($redis::PIPELINE);for ($i=0;$i<100000;$i++){ $redis->set("test.

2022-03-01 17:39:06 1324

原创 MySQL 索引面试题

1. 什么是索引索引是帮助MySQL高效获取数据的数据结构2. 索引的优点1) 减少服务器需要扫描的数据量2) 帮助服务器避免排序和临时表(可以用order by和group by操作帮助服务器避免排序和临时表)3) 索引可以将随机IO变成顺序IO3.索引的缺点1) 索引要占用磁盘空间2) 索引会降低写入数据的速度(insert、update、delete),这是因为MySQL不仅要把改动数据写入数据文件,而且它还要把这些改动写入索引文件。4. .

2022-01-18 12:00:15 1090

原创 CentOS 7.6升级系统内核

由于最近比较火的k8s,相信大家部署前都需要升级内核,这里就简单说下部署步骤:yum 升级安装1.检查已安装的内核版本uname -rs2.在CentOS 7 中升级内核rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org #导入该源的秘钥rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm #启用该源仓库yum --

2021-12-14 17:46:58 2702

原创 MySQL 索引的原理及优化

一、索引的数据结构Hash表B-Tree

2021-11-29 11:38:34 372

原创 PHP常用函数总结

文章目录​​​​目录文章目录​​​​一、数字函数二、字符串提示:以下是本篇文章正文内容,下面案例可供参考一、数字函数1.abs() 函数返回一个数的绝对值。示例:echo abs(-4.2); 输出 4.22.ceil()函数向上舍入为最接近的整数。示例:echo ceil(5.1); echo ceil(-5.1); 输出:6;-53.floor()函数向下舍入为最接近的整数。示例:echo floor(5.1); echo floor(-5.1); ...

2021-10-19 22:51:32 4075

原创 linux中安装composer

文章目录Linux 平台可以使用以下命令来安装php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"php composer-setup.php移动 composer.phar,这样 composer 就可以进行全局调用mv composer.phar /usr/local/bin/composer切换为国内镜像composer config -g repo.packagist c

2021-10-09 18:23:30 216

原创 php算法练习题及答案

1.猴子选大王一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号function king($n,$m){ $mokey = range(1, $n); $i = 1; while (count($mokey) >1) { $head = arra

2021-10-08 16:19:18 739

原创 redis面试题

一、redis缓存的雪崩、穿透和击穿是指什么,如何解决?1.缓存雪崩缓存雪崩是指缓存同一时间大面积失效,所以后面的请求都会落在数据库上,造成数据库短时间内承受大量请求而崩溃解决方案: 1.缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生 2.缓存预热 3.互斥锁:查数据库的时候把缓存的键锁起来,查完数据库把数据放到缓存中,再释放这个锁2.缓存穿透缓存穿透是指缓存和数据库中都没有的数据,导致所有的请求都落在数据库上,造成数据库短时间内承受大量请求而崩掉解决...

2021-08-19 23:31:04 111

原创 解决击穿问题redis互斥锁

通过redis的setnx实现互斥锁代码如下(示例): <?php function getRedis() { $redis = new Redis(); $redis->connect('127.0.0.1', 6379, 60); return $redis; } //加锁 function lock($key, $random) { $redis = getRedi...

2021-08-18 19:09:10 561

原创 redis锁解决高并发问题,可防止重复提交

前言这里我们主要利用Redis的setnx的命令来处理高并发setnx有两个参数。第一个参数表示键。第二个参数表示值。如果当前键不存在,那么会插入当前键,将第二个参数做为值。返回1。如果当前键存在,那么会返回0。代码如下(示例):<?phpclass Lock{ private static $_instance ; private $_redis; private function __construct() { ...

2021-08-18 16:02:33 1811

原创 php自定义加密/解密函数

php自定义加密/解密函数代码如下(示例):<?phpif (!function_exists('encrypt')) { /** * 加密算法(可逆) * @param $data string 待加密的字符串 * @param $key string 秘钥 * @return string */ function encrypt($data, $key) { // 例:$data = 'zhongyu

2021-05-28 19:17:06 1067

原创 MySQL中查某一字段包含某一字符的个数

MySQL中查某一字段包含某一字符的个数提示:例如某一字段里存了多个id,并且以逗号分隔,例:字段coupon_record_game_id 的值为 1,2,3,5,7,9,14,36。现在要统计每个字段里存了多少个id,并且以存id的数量倒叙排序代码如下(示例):SELECT coupon_record_id, coupon_record_game_id, LENGTH(coupon_record_game_id)-LENGTH(REPLACE(coupon_record_game_id,",",

2021-05-24 10:51:53 5368

原创 Centos7中MongoDB开启auth验证

Centos7中MongoDB开启auth验证1.创建管理员用户2.创建普通用户如果还未安装可参考:https://blog.youkuaiyun.com/muwenbofx/article/details/115858535我MongoDB在/usr/local/mongodb目录下开启认证前配置文件mongodb.conf里的是开启安全认证先要关掉auth=false1.创建管理员用户管理员用户必须到admin数据库下创建#连接mongodbcd /usr/local/mongodb./bin/mo

2021-05-08 10:08:30 2503

原创 Redis乐观锁实现高并发秒杀实例

Redis乐观锁实现高并发秒杀实例Redis对事务的支持比较简单。redis只能保证一个客户端发起的事务命令可以执行,中间不会插入其他事务。因为redis是单线程的,所以做到上面这点很容易。一般redis接受到客户端的命令后会立即执行,但是如果客户端发起multi命令,redis不会立即执行,而是让当前连接进入事务上下文,把命令放到队列中,接受到exec命令后,redis会顺序执行队列中的命令。并把执行结果打包到一起返回客户端,之后就结束了事务上下文代码如下(示例):<?phphead

2021-04-29 22:59:15 222

原创 Centos 7安装Mongodb和Mongodb扩展

Centos 7安装Mongodb和Mongodb扩展一、安装Mongodb1.下载Mongodb包2.创建软连接总结一、安装Mongodb1.下载Mongodb包软件下载地址:https://www.mongodb.com/try/download/community提供了二进制执行版,不需要make安装,将解压好的内容,直接移动到软件安装目录即可。cd /usr/local/srcwget http://fastdl.mongodb.org/linux/mongodb-linux-x86_6

2021-04-21 15:53:14 323

原创 Centos 7安装Supervisord

Centos 7安装Supervisord一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filt

2021-04-09 17:41:53 734

原创 php自定义加密解密算法,长度可控

php自定义加密解密算法,长度可控1.加密/解密类2.调用1.加密/解密类代码如下(示例):<?phpnamespace app\common\service;class NumberCardConversion{ // 进制数 private static $dnum = 36; // 前缀值 private static $pre = 'sy'; // 验长度 private static $vc_len = 2; // 密

2021-04-07 20:19:34 790

原创 LINUX(CentOS 7) php7.4安装redis以及php-redis扩展

CentOS 7下PHP7.3安装redis扩展1.安装phpize2.下载、解压、编译Redis3.解压php7.zip总结1.安装phpizeyum -y install php73-php-devel2.下载、解压、编译Rediscd /usr/local/srcwget http://download.redis.io/releases/redis-4.0.6.tar.gztar -zxvf redis-4.0.6.tar.gzcd redis-4.0.6./configure -

2021-04-06 16:03:01 4536

原创 LINUX(CentOS 7)安装MySQL5.7

CentOS 7安装MySQL5.6一、安装MySQL前准备工作1.检查系统中是否已安装 MySQL2.查看已安装的 Mariadb 数据库版本3.卸载已安装的 Mariadb 数据库4.再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成二、安装MySQL1.下载安装包文件2.安装mysql-community-release-el7-5.noarch.rpm包3.安装mysql4.检查mysql是否安装成功5.启动MySQL三、设置MySQL1.设置密码2.设置远程主机登录一、安装MySQ

2021-03-30 00:12:28 317 1

原创 LINUX (CentOS 7) 安装 PHP7.4

CentOS 7 yum 安装 PHP7.3一、安装前库文件和工具准备二、安装PHP三、设置PHP四、设置PHP软连接和环境变量提示:以下是本篇文章正文内容,下面案例可供参考一、安装前库文件和工具准备1、首先安装 EPEL 源yum -y install epel-release 2.安装 REMI 源yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 3.安装 Yum 源管理工具yum -y i

2021-03-24 01:08:18 5062 4

原创 CentOS 7 环境下载安装Nginx

CentOS 7 环境下载安装Nginx目录一、安装前需要的编译环境准备1.安装编译工具及库文件2.关闭防火墙3.关闭selinux二、安装 PCRE(让 Nginx 支持 Rewrite 功能)三、安装nginx启动提示:以下是本篇文章正文内容,下面案例可供参考一、安装前需要的编译环境准备1.安装编译工具及库文件yum -y install make zlib zlib-devel gcc gcc-c++ automake autoconf libtool openssl openssl-d.

2021-03-23 21:51:43 492

原创 python爬虫两个简单入门实例

python爬虫简单入门实例一、建表二、实例代码总结提示:安装python3环境和需要导入的库。以下是本篇文章正文内容,下面案例可供参考一、建表CREATE TABLE article (id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘id’,artname varchar(50) NOT NULL,href text NOT NULL COMMENT ‘链接’,content text NOT NULL COMMENT ‘详情’,

2020-09-02 13:10:34 632

原创 php中奖概率算法,刮刮卡/大转盘抽奖算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法前言一、概率算法二、奖项数组三.引用输出总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、概率算法经典的概率算法$proArr是一个预先设置的数组假设数组为:array(100,200,300,400

2020-08-27 14:32:10 583

原创 mysq根据首字母模糊检索,拼音首字母模糊查询名称

Mysql 数据库根据拼音首字母模糊查询名称前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pand

2020-08-27 10:12:29 1861 1

原创 Lua脚本基础,简单案例

lua脚本里的一些简单常用的函数及方法整理

2022-11-25 17:15:58 608

原创 LINUX(CentOS 7)安装swoole及php7.4的扩展

CentOS 7安装swoole及扩展一、下载、安装swoole二、修改配置1.将swoole.so添加到php.ini中一、下载、安装swooleswoole下载地址:https://pecl.php.net/package/swoole,根据自己需要选择下载cd /usr/local/srcwget https://pecl.php.net/get/swoole-4.4.6.tgztar -zxvf swoole-4.4.6.tgzcd swoole-4.4.6phpize./confi

2021-04-26 13:58:48 1669

原创 PHP文件下载简单案例

文章目录前言一、文件下载总结前言这是一个简单的文件下载案例,可供新手参考学习,欢迎交流一、文件下载代码如下(示例): public function bigFileDownLoad($down_path, $down_name) { // 检测文件是否存在、是否可读 if (file_exists($down_path) && is_readable($down_path)) { // 避免下载超时

2021-01-20 23:21:33 146

空空如也

空空如也

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

TA关注的人

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