自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大宝的博客

生活只有苟且

  • 博客(41)
  • 收藏
  • 关注

原创 MongoDB 基本查询语句

mongodb查询

2024-07-17 15:02:56 882

原创 麒麟V10 安装docker

报错:Unsupported distribution ‘kylin’查看docker版本,出现版本即安装成功。第三步 启动docker。

2023-06-25 13:40:34 2761

原创 PB文件定义为int64,HTTP返回为string的问题

从协议缓冲区生成 JSON 编码的输出时,如果 protobuf 字段具有默认值并且该字段不支持字段存在,则默认情况下它将从输出中省略。实现可以提供选项以在输出中包含具有默认值的字段。设置了值且支持字段存在的字段始终在 JSON 编码输出中包含字段值,即使它是默认值。当将 JSON 编码的数据解析到协议缓冲区中时,如果缺少一个值或者它的值为null,它将被解释为相应的 默认值。Proto3 支持 JSON 中的规范编码,从而更容易在系统之间共享数据。编码在下表中按类型逐个描述。

2023-05-10 17:04:21 742

原创 Mysql性能优化之配置I/O行为

将日志缓冲区写入日志文件和将日志刷新到持久存储之间的区别很重要。在大多数操作系统中,将缓冲区写入日志只是将数据从InnoDB的内存缓冲区移动到操作系统的缓存中,依然还是在内存中。因此,如果发生奔溃或断电,设置为0和2通常会导致最多1秒的数据丢失。改参数控制Mysql如何将二进制日志刷新到磁盘,默认值是1,意味着Mysql将执行刷新并保持二进制日志的持久性和安全性。强烈推荐将其设置为1,不建议设置为其他值,如果不将sync_binlog设置为1,发生奔溃可能会导致二进制日志与事务数据不同步。

2023-03-20 13:46:27 438

原创 USB实现远程挂载

USB远程挂载

2022-09-06 10:28:05 2040

原创 Centos7 docker服务开机自启

centos7 下设置docker服务开机自启

2022-08-15 10:22:05 1847

原创 Go 切片内存优化(摘录)

切片持有对底层数组的引用。只要切片在内存中,数组就不能被垃圾回收。在内存管理方面,这是需要注意的。让我们假设我们有一个非常大的数组,我们只想处理它的一小部分。然后,我们由这个数组创建一个切片,并开始处理切片。这里需要重点注意的是,在切片引用时数组仍然存在内存中。一种解决方法是使用 copy 函数 func copy(dst,src[]T)int 来生成一个切片的副本。这样我们可以使用新的切片,原始数组可以被垃圾回收。package mainimport ( "fmt")func cou

2021-10-21 17:20:31 128

原创 Go从切片中删除元素

a := []int{1, 2, 3, ...}a = append(a[:0], a[1:]...) // 删除开头1个元素a = append(a[:0], a[N:]...) // 删除开头N个元素a = append(a[:i], a[i+1:]...) // 删除中间1个元素a = append(a[:i], a[i+N:]...) // 删除中间N个元素

2021-10-14 11:23:50 236

原创 PHP设计模式之装饰器模式

我们先看一个列子,很简单,添加一个商品信息,并且输出商品信息/** * 商品 */class Goods{ // 定义商品列表 public $goodList; public function __construct() { $this->goodList = []; } // 添加商品信息 public function addGood($good) { $this->goo

2021-09-05 14:31:04 194

原创 PHP 获取字符串中最长不重复的子串和最长连续子串

有时候面试会问到的一道题目,当然问法可能不一样,最长的连续子串,也是同样的逻辑<?php$string = "cbacmcdaefaeadkqatlmtx";// 获取字符串场地$len = strlen($string);// 最长字符串$maxArr = [];// 临时最长不重复字符串$temArr = [];$index = 0;while ($index < $len) { $char = $string[$index]; $index ++

2021-06-09 23:01:34 498

转载 高性能,高扩展,高可用架构

原文链接:https://www.zhihu.com/question/421237964/answer/1795200233如何理解高并发?高并发系统设计的目标是什么?高并发的实践方案有哪些?01 如何理解高并发?高并发意味着大流量,需要运用技术手段抵抗流量的冲击,这些手段好比操作流量,能让流量更平稳地被系统所处理,带给用户更好的体验。我们常见的高并发场景有:淘宝的双11、春运时的抢票、微博大V的热点新闻等。除了这些典型事情,每秒几十万请求的秒杀系统、每天千万级的订单系统、每天亿级日活的信息

2021-06-08 17:47:57 1273 1

原创 Go 读写,复制文件

package mainimport ( "bufio" "fmt" "io" "os")func main() { // 打开一个文件 file, err := os.Open("./test.txt") if err != nil { fmt.Println("open file failed err=", err) } // 关闭文件 defer file.Close() // 创建一个缓存 reader := bufio.NewReader(file) f

2021-06-06 17:04:45 101

原创 Go Sprintf 和 Printf 区别

Go学习中,基础一点一点积累先来看一眼官方文档func Printf// Printf根据format参数生成格式化的字符串并写入标准输出。返回写入的字节数和遇到的任何错误。func Printf(format string, a ...interface{}) (n int, err error)func Sprintf//Sprintf根据format参数生成格式化的字符串并返回该字符串。func Sprintf(format string, a ...interface{}) stri

2021-06-02 17:49:46 3545

原创 Go 学习笔记,编译报错:mixture of field:value and value initializers

初学Go执行时,抛出一个错误,排查问题,觉得很有意思,记录一下,不得不说Go设计者的强一致性package modeltype Goods struct { Name string Price float64}type Book struct { Goods Author string}package mainimport ( "code/model" "fmt")func main() { var book = model.Book{ model.Goo

2021-05-31 11:03:19 1020

原创 Centos下docker安装kibana

安装完ES,肯定就要安装kibana了,拉去官方最新镜像文件docker pull kibana:7.12.1添加配置文件kibana.ymlserver.name: kibanaserver.host: "0.0.0.0"elasticsearch.hosts: ["http://172.17.0.6:9200"]xpack.monitoring.ui.container.elasticsearch.enabled: true查看docker的ipdocker inspect elas

2021-05-22 22:03:50 135

原创 Centos使用Docker安装elasticsearch

查看官网最新版本7.12.1 ,下载镜像文件docker pull elasticsearch:7.12.1创建es文件夹,es下再创建三个目录conf、data、plugins,准备做数据挂载为es文件夹添加777权限(不添加启动时会报错)chmod -R 777 esconf文件夹中添加配置文件elasticsearch.ymlcluster.name: "docker-cluster"network.host: 0.0.0.0http.port: 9200node.name: n

2021-05-22 13:47:25 244

原创 Centos下安装Supervisord进程管理工具

yum 直接安装yum -y updateyum install -y supervisor添加到开机自启systemctl enable supervisord启动supervisordsystemctl start supervisord // 启动supervisordsystemctl status supervisord // 查看状态vim /etc/supervisord.conf修改配置文件,去掉注释port改成自己的ip,user和password随便重新载入配

2021-05-10 22:29:45 143

原创 Go 生成一个随机数

package mainimport ( "fmt" "math/rand" "time")func main() { // 设置一个种子 rand.Seed(time.Now().UnixNano()) // Intn返回一个取值范围在[0,n)的伪随机int值 num := rand.Intn(100) + 1 // 随机1-100 fmt.Println(num)}

2021-05-09 17:55:45 326

原创 Swoole加速laravel框架

下载swool包wget https://pecl.php.net/get/swoole-4.6.6.tgz复制文件到docker文件中,如果没有使用容器则跳过这一步直接安装,注意目录文件地址docker cp swoole-4.6.6 php:/usr/src/php/ext/swoole进入容器内安装swooledocker-php-ext-install swoole安装完毕后查看php --ri swoole在 Laravel 应用中使用 Swoole 之前,先通过 Comp

2021-05-08 01:16:30 166

原创 Linux下部署laravel环境

下载composer.pharcurl -sS https://getcomposer.org/installer | php移动 composer.phar,这样 composer 就可以进行全局调用mv composer.phar /usr/local/bin/composer切换为国内镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/更新 composercompose

2021-05-07 23:37:12 237

原创 Redis命令INCRBY和INCR区别

官方描述:INCRBYINCRBY key increment为键 key 储存的数字值加上增量 increment 。如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 INCRBY 命令。如果键 key 储存的值不能被解释为数字, 那么 INCRBY 命令将返回一个错误。INCRINCR key为键 key 储存的数字值加上一。如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。如果键 key 储存的值不能被解释

2021-05-07 01:23:17 2888

原创 Docker搭建PHP开发环境

直接拉去官方nginx镜像(Dockerfile创建镜像太慢了)docker pull nginx新建nginx的配置文件,准备做映射/docker/nginx/default.confserver { listen 80; listen [::]:80; server_name localhost; root /docker/www/lmrs/public; index index.php index.html; location

2021-05-05 15:59:12 379

原创 进制转换

二进制转十进制每个位的数字乘以 2的(位数-1)次方1001 = 1222 + 022 + 02 + 1 = 8+0+0+1 = 9八进制转十进制每个位的数字乘以 8的(位数-1)次方0153 = 0888+188+58+3 = 64+40+3 = 107十六进制转十进制每个位的数字乘以 16的(位数-1)次方0x14A = 11616 + 4*16 + 10 = 256+64+10 = 330十进制转二进制十进制数字除以2,直到商为0,得到的余数倒过来87/2 = 143/2

2021-05-03 22:01:26 1560 1

原创 Go1.16 mod导入包

Go语言到1.16已经开启了使用mod管理包GO111MODULE配置标识是否使用mod管理包文件GO111MODULE = no // 开启,off 关闭 auto检测是否有mod文件,有即使用mod项目目录执行go mod init生成go.mod文件我的目录结构,mod文件中gocode就是当前目录名(生成时可以自己设置)hero.go文件的包在main.go 中这样导入包即可注意:包名一定要写正确 ,否则会报这么一个错误,package gocode/mode is not i

2021-05-02 01:20:21 674

原创 Golang语言中的单引号、双引号、反引号

双引号:""Golang语音双引号表示一个字符串(Go语言的字符串是一个用UTF-8编码的变宽字符序列,它的每一个字符都用一个或多个字节表示 ,所以说Go语言不存在乱码问题),双引号内字符可以转义,比如:\n,\r反引号:``反引号引起来的字符串就不支持转义,一些正则表达式,HTML,MySql语句都可以用反引号来表示单引号:’'一般只能用来包裹一个字节的ASCII码字符,比如:var a int = '中'...

2021-05-01 14:42:24 924

原创 PHP设计模式之单列模式

单列模式,分懒汉式和恶汉式,但是由于php语法问题,php不支持恶汉式单列三私一公私有静态属性,储存生成的唯一对象私有构造函数,防止外部直接new对象私有克隆函数,防止克隆对象公共静态方法,用来访问静态属性储存的对象,如果没有对象,则生成此单例<?php/** * 单利模式(懒汉式) * Class Db * Version : 1.0 * Created on: 2021/4/23 17:33 */class Db{ // 保存对象 private

2021-04-23 17:35:48 89

原创 PHP位运算

运算符名称结果&And(按位与)将把 $a 和 $b 中都为 1 的位设为 1|Or(按位或)将把 $a 和 $b 中任何一个为 1 的位设为 1^Xor(按位异或)将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1~Not(按位取反)将 $a 中为 0 的位设为 1,反之亦然<<AShift left(左移)将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)>>Shift ...

2021-04-23 17:02:23 118

原创 PHP-FPM中master和worker进程

敲黑板 最近看了很多文章说是php-fpm中的master进程负责分发请求到woker,这是一个错误的说法哈,master进程不负责分发进程,只负责监控管理woker查看我当前的php-fpm进程kill掉一个woker进程,理应是少一个worker进程的,但是查看到还是5个worker进程,说明我们的master进程帮我们又启动一个worker进程再次kill掉master主进程,如果说是master起到分发请求的作用,那么我现在访问页面应该报错的!但是还是能访问到的,所以说master不负责分

2021-04-19 23:46:06 358

原创 centos7防火墙导致nginx无法访问

centos7在默认情况下是开启防火墙功能的,在我们安装nginx后是无法访问的,需要我们关闭防火墙systemctl stop firewalld.service # 关闭防火墙systemctl restart firewalld.service # 启动防火墙如果不想关系防火墙,而又能访问我们的服务,就需要对外开发nginx的端口,默认:80,然后重启防火墙即可firewall-cmd --zone=public --add-port=80/tcp --permanent #该命令需要在防

2021-04-18 00:46:40 2334

原创 浅谈HTTP、TCP、UDP

HTTP、TCP、UDP最近学习网络协议,对http、tcp、udp有了一些粗浅的认识,记录一下官方答案:HTTP 协议是Hyper Text Transfer Protocol(超文本传输协议)TCP 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议UDP 用户数据报协议(UDP,User Datagram Protocol),无连接举个生动列子(也是网上千篇一律的例子):你想给你心爱的女朋友电话,假如他叫

2021-04-13 16:47:01 232

原创 PHP 使用静态变量缓存

static静态变量缓存日常开发中,经常使用到缓存来减少数据库的压力,如redis缓存等等方案,其实使用static静态变量,来当作是我们数据的一级缓存也是我们常常使用的一种方案。使用场景: 在一次请求中,某个数据被多次不同的方法来使用,而你不想多次读redis或者db来增加你的消耗,又不想把他当做参数传来传去,这个时候static就是非常好的解决方案。 /** * 获取章节ids * @param $audioId * @return array|mixed

2021-04-12 14:50:47 361

原创 PHP设计模式之观察者模式

观察者模式<?php/** * 订单观察者 * Interface OrderObserver */interface OrderObserver{ /** * 每个观察者需要执行的方法 * @param $object * @return mixed */ public function afterOrderSave($object);}/** * 被观察者 * Interface OrderObservable */

2021-04-09 18:11:13 69

原创 Linux Log文件常用命令

笔记:Log文件常用命令tailtail -f xxx.log 显示最新出现的logtail -f xxx.log | grep ‘xxx’ 显示最新出现的带有检索词的logtail -f -n 5 xxx.log | grep ‘xxx’ 显示最后出现检索词的5条log,并且后续持续显示headhead -n 5 xxx.log 显示头部5条日志catcat -n xxx.log | grep ‘xxx’ 显示检索词的行号sedsed -n ‘/2021-04-07 11:26:2

2021-04-07 11:30:55 762

原创 Redis 淘汰策略

Redis 淘汰策略策略说明volatile-lru根据 LRU 算法从设置了过期时间的Key中驱逐最久没有使用的Key(推荐)allkeys-lru根据 LRU 算法从所有Key中驱逐最久没有使用的Keyvolatile-lfu根据 LFU 算法从所有设置了过期时间的Key中驱逐使用频率最少的Keyallkeys-lfu根据 LFU 算法从所有Key中驱逐使用频率最少的Keyvolatile-random从设置了过期时间的键空间中,随机驱逐某个Key

2021-04-03 23:47:28 40

原创 PHP获取图片无法识别

PHP获取图片无法识别一次项目中抓取网页图片保存到本地,抓取到的图片无法识别,几经周转发现是图片经过是压缩处理,更换其他方式获取即可public function getCoverBase($imgflag) { if (empty($imgflag)) { return ''; } $strImg = @file_get_contents("compress.zlib://" . $imgflag); //加上图片头信息 $fileBase =

2020-07-02 17:18:01 217

原创 中文简体繁体转换

<?phpnamespace api\helpers;/* * define zh convert functions * 2019-10-23 use str_replace for speed * zh_hans_to_zh_hant():简体到繁体转换 * zh_hant_to_zh_hans():繁体到简体转换 * zh():自动判断默认语言和当前语言,根据需要转换...

2019-10-23 17:16:11 2609

原创 YII2 条件使用 FIND_IN_SET 表达式查询

在项目种经常会遇见以逗号或者其他符号拼接的id的方式保存数据,这样保存的方式在查询时,我们会用到find_in_set做查询,Yii2 当然也有实现的方法。$tags = new Expression("FIND_IN_SET(:tags_{$tags}, tags)",[":tags_{$tags}"=>$tags]);array_push($where,$tags);...

2019-09-23 16:34:06 2791

原创 PHP开发中涉及到emoji表情的处理方法

微信开发免不了,要处理用户输入问题,其中emoji表情是一个很大问题,现有项目中也遇到同样问题,几番周折,总结出以下解决方案,仅供参考/** * 入库前转义 */function userTextEncode($str){ if(!is_string($str))return $str; if(!$str || $str=='undefined') return '';...

2018-08-30 15:53:33 215

原创 MySQL 关于性能优化问题

一直以来对于MySQL来说懵懵懂懂,SQL优化也是一个大问题,而每次面试面试官都喜欢问类似的问题, 结合以往的经验,对于SQL的性能优化整理一些粗浅的知识,当做笔记,也可以给初学者一个初步认识, 如果有误,请及时指出,加以修正。1、搜索引擎MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB等等一系列,每种存储引擎有各自的优缺点 而工作中...

2018-08-10 19:04:45 168

原创 计算与当前时间的时间间隔

// 返回XX天前,方便前端更好的展示function format_date($time){ $t=time()-$time; if ($t &amp;lt;= 0){ return '刚刚'; } $f=array( '31536000' =&amp;gt; '年', '2592000' =&amp;gt; '月', ...

2018-08-06 15:39:28 617

空空如也

空空如也

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

TA关注的人

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