lmcc-老马吃草的博客

解决Liunx安装找不到最新版本软件方案

 我们在使用linux,centos等系统想要安装最新版软件时候发现无论怎安装都是老版本的软件,下面我们通过安装 PHP8.1 , php-devel 等软件来演示一下怎么将linux软件库更新到最新版本。步骤下面我们使用 centos7 来作为演示系统查看当前系统软件库列表 我们通过以下命令可以查看更新之前的软件库内软件的版本。sudo yum search all php-devel 一般情况下 新安装的系统软件库版本比较老旧并没有最新版本的软件。安装 epel-releasesudo yum install epel-release安装最新版 remi 源 Remi 源大家或许...

PHP,Golang,Linux,解决方案 2023-06-13 PM 400℃

uinapp或者前端打包后出现两个静态资源文件夹解决方案

 我们在使用uinapp编写项目后打包后发现出现了两个静态文件如两个图片文件夹 img和image 两个 字体文件夹 font 和 fonts 等等。问题 通过 uinapp 打包后出现两个重复的图片文件夹 img 和 image 主要是应为代码内引用路径导致的。解决 我们只需要将绝对路径换成相对路径即可.  以上就是uinapp打包后出现两个相同的静态文件夹以及图片文件夹的解决方案。

前端,解决方案 2023-06-05 PM 461℃

mysql随机获取指定数量数据

 通常情况下我们在开发项目中一般会用到 随机推荐 或者 购买类 需求,一般情况下很多程序猿都是 正序 或者 倒叙 获取 然后随机返回给前端,这种方式有 很多缺陷。解决方案 下面我们分享一种直接从 mysql 数据库中随机获取数据的一种方式。编写最大id查询sqlSELECT MAX(id) FROM `user`编写joinINNER JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `bl_user` ) ) ) AS id ) AS u2 ON u.id >=`u2`.`id` 编写要获取的随机条数LIMIT 50...

数据库,解决方案 2023-04-11 PM 400℃

计数限流算法

 计数器算法实现起来比较简单,它的基本思路是:在单位时间内(如 1 秒钟)对访问次数进行计数,如果超过设定的阈值,则拒绝后续的请求。以下是一个使用 PHP 实现的计数器算法。完整代码class Counter { protected $maxCount = 100; // 设定最大请求数 protected $interval = 60; // 设定时间窗口大小,单位为秒 protected $redis = null; // Redis 连接 public function __construct($maxCount, $interval) { ...

PHP,Golang,.Net,解决方案,其他 2023-03-21 PM 447℃

令牌桶限流算法

 下面我们通过使用redis实现一个简单通用的令牌桶限流算法解决问题 令牌桶算法主要是以桶的容量为基准,以固定的时间来生产令牌,有效的解决了漏桶效率不高的问题具体实现创建redis对象并定义缓存键$redis = $this->connect(); $key = "aaaaa";开启 watch 并定义定义每分钟最大请求数量$current_time = time(); $max_count = 320; $total_s = 60; $redis->watch($key);计算平均值用于限制每秒请求数量$rate = (int)(($max_coun...

PHP,Golang,.Net,解决方案,其他 2023-03-21 AM 433℃

实现滑动窗口限流算法

 下面我们通过php使用redis实现一个简单通用的滑动窗口限流算法解决问题 滑动窗口算法主要解决了传统计数限流算法的阶段突发性流量问题。具体实现创建redis对象并定义缓存键$redis = new \Redis(); $redis->connect("127.0.0.1"); $key = "aaaaa";定义每分钟最大请求数量$max_count = 320; $total_s = 60; $current_time = time();计算平均值用于限制每秒请求数量$avg_count = ceil($max_count / $to...

PHP,Golang,前端,.Net,解决方案,其他 2023-03-17 PM 488℃

阿里云redis数据库迁移工具RedisShake

 RedisShake是阿里云开源的高性能redis数据库迁移工具简单易用快速,上手非常简单 现在 redis-shake 有两个主版本:redis-shake 2.x:持续更新 3 年,目前停止更新与答疑,遇到问题推荐尝试 3.x 版本。redis-shake 3.x:基于 redis-shake 2.x 重写,代码可读性高,性能较佳。安装RedisShake安装方式有两种二进制包安装直接下载打包后的压缩包二进制包从版本下载:https://github.com/alibaba/RedisShake/releases从源代码编译git clone https://github.com/...

软件工具,数据库,Linux,解决方案 2023-03-13 PM 507℃

mysql 报错 this is incompatible with sql_mode=only_full_group_by

 解决在 mysql 中使用 group by 无效报错 SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'xxxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full...

数据库,解决方案 2023-03-01 AM 407℃

PHP后端面试题

分享下频繁出现的php后端面试笔试题简单描述php8,php7以及之前版本的区别php-fpm fast-cgi cgi 的关系self,this,static分别代表着什么,在什么场景下使用程序中出现高热点数据时会遇到什么问题,怎么解决导出或导入百万级数据会出现什么样的问题,怎么解决在 mvc 中 controller , model , logic , service 之间的关系以及使用场景简单描述下控制翻转,依赖注入,和容器实现原理Db和Model的区别workman和swoole的区别简述几个设计默认以及是实现原理mysql中 innodb 和 myisam 的区别以及使用场景m...

PHP 2023-01-09 AM 391℃

PHP常见机试题

记录下频繁出现的php基础面试题时间计算$starttime为手动输入 如: 2020-10-101.1 计算出来 $starttime 的当月开始时间 1号0点0分0秒的时间戳1.2 计算出来 $starttime 的上月开始时间 1号0点0分0秒的时间戳1.3 计算出来 $starttime 的上上月开始时间 1号0点0分0秒的时间戳1.4 计算出来 $starttime 的上上月结束时间最后一天号23点59分59秒的时间戳字符串处理2.1 字符串双向替换如: 我喜欢你 替换为 你爱我 分别替换了 我,你,爱和喜欢2.2 将任意英文字符串转换为小驼峰如: My is name 或者 ...

PHP 2023-01-04 AM 386℃