07 2020 档案
摘要:一、缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 二、缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时
阅读全文
摘要:IDEA依次打开File→settings → Editor →Inlay Hints →java ,根据个人喜好 在 Show parameter name hints 选项中灵活配置即可。新版对该功能做了更好的优化,并且做了更细粒度的配置。
阅读全文
摘要:RESP 是 Redis 序列化协议的简写。它是⼀种直观的⽂本协议,优势在于实现异常简单,解析性能极好。 Redis 协议将传输的结构数据分为 5 种最⼩单元类型,单元结束时统⼀加上回⻋换⾏符号\r\n。 间隔符号,在Linux下是\r\n,在Windows下是\n 1. 单⾏字符串 以 + 符号开
阅读全文
摘要:redis 开启AOF 找到redis 安装目录 打开 redis.conf 修改以下参数: appendonly yes (默认no,关闭)表示是否开启AOF持久化: appendfilename “appendonly.aof” AOF持久化配置文件的名称: AOF持久化策略(默认每秒): ap
阅读全文
摘要:redis 各种数据结构的encoding实现 Redis type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合),但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的内部编码实现
阅读全文
摘要:查看数据存储类型 127.0.0.1:6379> object encoding name "embstr" 127.0.0.1:6379> object encoding age "int" 127.0.0.1:6379> set name "ddddddddddllljjdddddddddddd
阅读全文
摘要:# 查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5 gcc -v # 升级gcc到5.3及以上,如下: 升级到gcc 9.3: yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolse
阅读全文
摘要:wget http://download.redis.io/releases/redis-6.0.6.tar.gz?_ga=2.104030464.1049731693.1595900008-1330786281.1595900008 tar -zxvf redis-6.0.6.tar.gz\?_g
阅读全文
摘要:实验环境:CentOS7 [root@~ localhost]#yum -y install php-fpm php-fpm包:用于将php运行于fpm模式 #在安装php-fpm时,一般同时安装如下包 [root@~ localhost]#yum -y install php-mbstring p
阅读全文
摘要:修改了php配置需要平滑启动php-fpm ps -aux | grep php-fpm 找到phpfpm 的master process的进程id kill -SIGUSR2 31158 实现平滑重启php-fpm
阅读全文
摘要:pm = dynamic; 表示使用哪种进程数量管理方式 dynamic表示php-fpm进程数是动态的,最开始是pm.start_servers指定的数量,如果请求较多,则会自动增加,保证空闲的进程数不小于pm.min_spare_servers,如果进程数较多,也会进行相应清理,保证多余的进程数
阅读全文
摘要:工作中经常会遇到会给客户配置服务器,其中有的客户还会有并发量要求,其中也会必须要用负载均衡承载压力的。增加服务器数量肯定能有效的提升服务器承载能力,但只有根据目前已有配置设置好单台服务器才能更好的发挥出服务器的性能。调整好一台服务器后剩下的就更简单了 拿着快照复制n多台。 今天就说一下php服务器的
阅读全文
摘要:redis 实现分布式锁 高并发下回出现数据错乱 如何解决 1 使用 redis 的setnx Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值 exists redis->setnx(goods_
阅读全文
摘要:https://blog.csdn.net/RunzIyy/article/details/104635680?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_par
阅读全文
摘要:1 搭建docker centos 下 参考文档搭建docker https://www.cnblogs.com/brady-wang/p/11543237.html docker create \ -v /opt/prometheus/data \ -v /opt/consul-data \ -v
阅读全文
摘要:[root@localhost src]# rpm -qa|grep grafanagrafana-7.1.0-1.x86_64[root@localhost src]# rpm -ql grafana-7.1.0-1.x86_64 |more/etc/grafana/etc/init.d/graf
阅读全文
摘要:通过扫描指定的要扫描的目录,把所有文件找出来,分别md5 连接字符串,最后再md5返回 启动定时器,扫描,当前的加密值和以前一样不管,否则就重启服务,把当前赋值给旧值 。 httpServer.php <?php namespace Wang\Core\Server; use Wang\Core\B
阅读全文
摘要:// 根据文件的绝对路径,获取下面的所有路径带有$filter的文件数组 if(!function_exists("get_files_by_tree")){ function get_files_by_tree(files=[],$filter=""){ $dirs = glob(
阅读全文
摘要:Handlers 记录日志到文件与系统日志(syslog) StreamHandler:记录日志到任何 PHP stream,用它来记录到文件。 RotatingFileHandler: 每天一个文件,会自动删除比$maxFiles老的文件,这只是一个很随意的方案, You should use l
阅读全文
摘要:github地址:https://github.com/Seldaek/monolog 使用 Monolog 安装 核心概念 日志级别 配置一个日志服务 为记录添加额外的数据 使用通道 自定义日志格式 Monolog是php下比较全又容易扩展的记录日志组件。目前有包括Symfony 、Laravel
阅读全文
摘要:做一下基本关于Monolog的基本介绍: Monolog是基于PHP的日志类库。 介绍就到这,言归正传 安装 安装最新版本:(composer 还没安装的~:https://www.phpcomposer.com/) composer require monolog/monolog 要求PHP版本为
阅读全文
摘要:<?php class Demo { //第一个参数是方法名,第二个参数是方法参数,以数组形式传入 public function __call(args) { //遍历参数var = ''; foreach (value){ v
阅读全文
摘要:swoole4.x后支持一键协程 加上后,开启一键协程化后,MySQL、Redis、Curl 等操作会变成异步 IO //此行代码后,文件操作,sleep,Mysqli,PDO,streams等都变成异步IO,见文档"一键协程化"章节 Swoole\Runtime::enableCoroutine(
阅读全文
摘要:连接数 SHOW FULL PROCESSLIST 1、 查看允许的最大并发连接数 SHOW VARIABLES LIKE 'max_connections'; 2、 修改最大连接数 方法1:临时生效 SET GLOBAL max_connections=200; SET语法参考: http://d
阅读全文
摘要:ab -n -c http://xxx.com/ -n 次数 -c 客户端数 [root@localhost wang]# ab -n 10000 -c 1000 http://127.0.0.1:9501/ This is ApacheBench, Version 2.3 <$Revision:
阅读全文
摘要:MySQL连接池 在传统的网站开发中,比如LNMP模式,由Nginx的master进程接收请求然后分给多个worker进程,每个worker进程再链接php-fpm的master进程,php-fpm再根据当前情况去调用其worker进程然后处理PHP,如果需要MySQL,在与MySQL建立连接,这个
阅读全文
摘要:show processlist和show full processlist processlist命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。 如果是root帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到
阅读全文
摘要:php的超全局数组$_GET等九个 可以直接使用 无需定义 实际上是浏览器请求到Apache或者nginx的时候 转发到PHP处理模块 fpm转发给php解释器处理 php封装好后丢给php的 swoole启动的http都没有传统的php-fpm当然就没有全局数组了 加上常驻进程 都有全局数组数据乱
阅读全文
摘要:控制器访问 /hi /** * @Swoft\Bean\Annotation\Mapping\Inject("UserService") * @var UserService */ public $userService; /** * @RequestMapping("/") * @throws T
阅读全文
摘要:swoole 协程通道 为了协程直接互相通讯传递数据 和go的通道很相似 Co\run(function(){ chan) { fo
阅读全文
摘要:启动命令 php bin/swoft http:start 或者 swoftctl run -c http:start 1 入口文件 bin/swoft.php #!/usr/bin/env php <?php // Bootstrap require_once __DIR__ . '/bootst
阅读全文
摘要:可以借助Swoft下的Bean类操作容器 示例: 将类绑定至容器 use Swoft\Bean\Annotation\Bean; /** * @Bean("imageLogic") */ class ImageLogic extends BaseLogic { /** * 根据id获取图片 * @p
阅读全文
摘要:官网文档 https://www.swoft.org/documents/v2/basic-components/aop/ 视频教程 https://www.bilibili.com/video/BV12J411j721?p=51 切面 我理解 就是不破坏原有代码逻辑,往里面加入需要执行的前置 后置
阅读全文
摘要:上篇文章的延时是加到队列上的 通过死信过时推送 ,缺点就是不能每条消息定义自己的过时时间而且每次有新的过时时间,要新建一个交换机和队列 https://www.cnblogs.com/brady-wang/p/13335104.html rabbitmq还有种方式 要安装一个插件 rabbitmq-
阅读全文
摘要:https://www.rabbitmq.com/which-erlang.html
阅读全文
摘要:延迟任务应用场景 场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时。 场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。 场景三:过1分钟给新注册会员的用户,发送注册邮件等。 php 使用rabbitmq-delayed-message-ex
阅读全文
摘要:前言 某个产品 或者订单,有个有效期 过了有效期要取消 方法一 : 写个脚本,用crontab 定时扫描 改变状态 但是最低只能一分钟 ,不适合 方法二 : 用swoole得毫秒定时器,每秒钟去扫描表 明显占用资源 mysql受不了 方法三 :用rabbitmq延时队列 一开始将其丢入mq 死信队列
阅读全文
摘要:前言 前面介绍了erlang环境的安装和rabbitmq环境安装,接下来介绍rabbitmq的web管理和用户设置。 启用后台管理插件 通过后台管理插件我们可以动态监控mq的流量,创建用户,队列等。 创建目录 mkdir /etc/rabbitmq 启用插件 /usr/lib/rabbitmq/bi
阅读全文
摘要:需求 打印出swoft的所有sql日志到控制台或者文件 只要打开listener 下面 Dbranlisten.php 里面最后一行注释即可,swoft已经帮我们实现好了 ____ _____ ___ ___ / __/ _____ / _/ /_ |_ | / _ \ _\ \| |/|/ / _
阅读全文
摘要:开发应用程序久了,总想刨根问底,尤其对一些有公共答案的问题。大家都能解释,但是追根究底,都解释不清。凡是都有为什么,而且用数字说明问题是最直观的。 本文主要想探究一下连接数据库的细节,尤其是在Web应用中要使用数据库来连接池,以免每次发送一次请求就重新建立一次连接。对于这个问题,答案都是一致的,建立
阅读全文
摘要:转载自Go语言中文网, https://studygolang.com/articles/20667 传统架构 PHP-FPM + Nginx 传统架构中所使用的Nginx + PHP-FPM的模型中,Nginx由于基于Linux的epoll事件模型一个工作进程worker会同时去处理多个请求,但是
阅读全文
摘要:[root@localhost swoft]# swoftcli gen:controller -h [ERROR] Command 'controller' is not exist in group: gen Generate some common application template c
阅读全文
摘要:php bin/swoft entity:gen table= table1,table2,table3,... [root@localhost swoft]# php bin/swoft entity:gen -y 2020/07/14-14:27:30 [INFO] Swoft\SwoftApp
阅读全文
摘要:阿里云 Composer 全量镜像 本镜像与 Packagist 官方实时同步,推荐使用最新的 Composer 版本。 最新版本: 1.10.8 下载地址: https://mirrors.aliyun.com/composer/composer.phar 最后更新 官方:2020-07-14 0
阅读全文
摘要:一、防火墙的开启、关闭、禁用命令 (1)设置开机启用防火墙:systemctl enable firewalld.service (2)设置开机禁用防火墙:systemctl disable firewalld.service (3)启动防火墙:systemctl start firewalld (
阅读全文
摘要:php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性 用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化 如下代码实例: <?php trait Dog
阅读全文
摘要:{ "name": "brady_frmwork", "description":"php framwork", "type":"Framwork", "keywords":[ "php","PHP Framwork" ], "require":{ "php":">=7.1.0", "filp/wh
阅读全文
摘要:新建comoser.json { "name": "brady_frmwork", "description":"php framwork", "type":"Framwork", "keywords":[ "php","PHP Framwork" ], "require":{ "php":">=7
阅读全文
摘要:bean.php 'db' => [ 'class' => Database::class, 'dsn' => 'mysql:dbname=test;host=127.0.0.1', 'username' => 'root', 'password' => '123456', 'charset' =>
阅读全文
摘要:https://www.php.cn/php/php-superglobals.html https://m.php.cn/code/11853.html
阅读全文
摘要:idea-php-annotation-plugin 设置 插件 搜索 安装 重启
阅读全文
摘要:目的:1.上传代码后HTTP服务自动重启,不需要自己手动执行:php bin/swoft http:start2.自动重启适用于开发调试阶段,因为不能再后台运行所以在线上环境的话还是要重启http服务 a.Swoft-cli1.下载 wget https://github.com/swoft-clo
阅读全文
摘要:mysql 添加字段 ALTER TABLE t_user ADD COLUMN user_age int(11) DEFAULT NULL COMMENT '年龄' AFTER user_email; mysql 修改字段 ALTER TABLE user10 MODIFY email VARCH
阅读全文
摘要:本文章向大家介绍MySQL锁详细讲解,包括数据库锁基本知识、表锁、表读锁、表写锁、行锁、MVCC、事务的隔离级别、悲观锁、乐观锁、间隙锁GAP、死锁等等,需要的朋友可以参考一下 锁的相关知识又跟存储引擎,索引,事务的隔离级别都是关联的 数据库锁知识 不少人在开发的时候,应该很少会注意到这些锁的问题,
阅读全文
摘要:最近的项目中,因为涉及到Mysql数据中乐观锁和悲观锁的使用,所以结合项目和网上的知识点对乐观锁和悲观锁的知识进行总结。 悲观锁介绍 悲观锁是对数据被的修改持悲观态度(认为数据在被修改的时候一定会存在并发问题),因此在整个数据处理过程中将数据锁定。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据
阅读全文
摘要:事务的 四个特征(ACID) 事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability )。这四个特性简称为 ACID 特性。 1 、原子性。事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么
阅读全文
摘要:1.选项—函数值手对话框;2.选择适当的函数,比如“__Random()”;3.输入参数,比如随机数的最大、最小数;4.”Name of variable in which to store the result”这个值是使用你制定这个函数的参数名;5.点击“生成”测试函数产生的值是否符合你的预期;
阅读全文
摘要:百度网盘下载软件 提取码: 2nur 第一步:首先从jmeter的官网下载jmeter,目前最新版本为4.0,支持的JDK最高为1.8 下载地址: jmeter:http://jmeter.apache.org/download_jmeter.cgi JDK:http://www.oracle.co
阅读全文
摘要:1 shell变量基础shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义。所以若要进行数学运算,必须使用一些命令例如let、declare、expr、双括号等。shell变量可分为两类:局部变量和环境变量。局部变量只在创建它们的shell中可用。而环
阅读全文
摘要:参考文章:https://blog.csdn.net/puhaiyang/article/details/72284702 一.mysql锁的结构图 如上图所示,针对mysql的innodb存储引擎,mysql锁包括了乐观锁和悲观锁。而悲观锁又包括共享锁和排它锁,共享锁/排它锁里又有行锁和表锁的实现
阅读全文
摘要:前面一文 mysql锁 介绍了mysql innodb存储引擎的各种锁,本文介绍一下innodb存储引擎的间隙锁,就以下问题展开讨论 1.什么是间隙锁?间隙锁是怎样产生的? 2.间隙锁有什么作用? 3.使用间隙锁有什么隐患? 一、间隙锁的基本概念 1.什么叫间隙锁 当我们用范围条件而不是相等条件检索
阅读全文
摘要:资料来源: 青山老师的mysql课程 丁奇老师的《MySQL45讲》 一、文章结构和思路 1.整体文章结构 2、大概思路 介绍数据库的特性; 数据库标准所制定的隔离级别和解决对应的一致性问题; 数据库的锁:事务的实现依赖于数据库锁的; 在了解基本的锁结构之后,再了解他们之间的关系; 文章穿插了数据库
阅读全文
摘要:df -h ,这个命令用于查看服务器空间,运行后的效果图如下: [root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 8.3G 5.4G 2.9G 66% / devt
阅读全文
摘要:1. docker拉取镜像 docker pull redis 2 建立配置目录和准备配置文件 mkdir -p /usr/local/docker-redis && cd /usr/local/docker-redis wget http://download.redis.io/redis-sta
阅读全文
摘要:脚本下载: 百度网盘 提取码: wc4r 下载后上传到 服务器 chmod +x docker.sh sh docker.sh
阅读全文
摘要:package main import ( "os" "errors" "math/rand" "time" "log" "strconv" ) func init() { rand.Seed(time.Now().Unix()) file := "/www/logs/test.log"; logF
阅读全文
摘要:百度网盘 提取码: 6cvu 解压 tar -zxvf filebeat-7.5.0-linux-x86_64.tar.gz mv filebeat-7.5.0-linux-x86_64 /usr/local/filebeat [root@localhost src]# cd /usr/local/
阅读全文
摘要:[2020-07-03T15:18:23,147][WARN ][o.e.c.c.ClusterFormationFailureHelper] [localhost.localdomain] master not discovered yet, this node has not previousl
阅读全文
摘要:Logstash. 国内直接从官网(https://www.elastic.co)下载比较困难,需要一些技术手段。这里提供一个国内的镜像下载地址列表,方便网友下载。 找不到想要的版本?您可以访问 索引页 以下载更多版本。 7.8 7.8.0 7.7 7.7.1 7.7.0 7.6 7.6.2 7.6
阅读全文
摘要:安装 https://www.jianshu.com/p/875457cb8da6 操作系统:Linux kibana 版本: 7.4.0 1. 在/etc/yum.repos.d/ 下新建 kibana.repo 配置 yum 源地址 内容如下: [root@localhost yum.repos
阅读全文
摘要:链接: https://pan.baidu.com/s/193jObXs85OZcvAHDycUXlw 提取码: ewbp
阅读全文
摘要:centos6 搭建 参考 https://www.cnblogs.com/php-linux/p/8758788.html 搭建linux虚拟机 https://www.cnblogs.com/php-linux/p/5262077.html E:\>cd vbox E:\vbox>cd es E
阅读全文
摘要:去原地址查看
阅读全文
摘要:解决/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory报错 念淅 2020-01-03 15:02:25 3793 收藏 3分类专栏: jdk版权/lib/ld-linux.so.2: bad ELF interpre
阅读全文