自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 初始Go--基本数据结构

数组切片Map

2022-06-28 16:22:47 305 1

原创 Linux文件目录管理

文件颜色的含义颜色描述绿色可执行文件红色压缩文件深蓝色目录浅蓝色链接文件黄色设备文件白色一般文件灰色其他的文件红色闪烁链接的文件有问题pwd显示当前用户所处的工作目录的绝对路径pwd [选项]选项选项含义-L目录链接时,输出链接路径-P输出物理路径mkdir 创建目录mkdir [选项][目录]选项选项含义-m对创建的目录设置权限,默认7.

2021-12-17 15:21:47 688

原创 Redis持久化及备份

Redis持久化概述Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘。 当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。Redis持久化分为RDB持久化和AOF持久化,前者将当前数据保存到硬盘,后者则是将每次执行的写命令保存到硬盘。RDBRDB是一种快照存储持久化方式,具体就是将Redis某一时刻的内存数据保存到硬盘的文件当中,默认保

2021-11-21 16:29:51 718

原创 Laravel学习-自定义助手函数与artisan命令

自定义助手函数我新建了一个Helpers/helper.php文件在composer.json中加入"files":[ "App/Helpers/Helper.php" ]更新映射composer dump-autoload路由:除了在composer.json中配置之外也可以通过服务提供者来帮助实现。app\Providers\AppServiceProvider.php服务提供者中存在两个方法:register - 该方法是在框架执行中

2021-11-14 21:43:21 410

原创 Laravel学习--队列

队列队列配置文件存储在 config/queue.php 中优点:解耦:消息队列可以对系统进行解耦,提高响应速度,系统功能向内聚合,对外开放;异步:消息队列可以对系统异步功能进行剥离,减少功能耦合,提供开发效率;削峰:消息队列可以削峰限流,确保下游消费者稳定运行。我这里用的redis做队列。如果你没有安装redis,可以安装php redis扩展。也可以利用composer安装predis.在你的项目根目录下运行composer require predis/predis同时datab

2021-11-14 20:04:12 677

原创 Laravel学习-模型

模型【 Eloquent】什么是模型这是一个对象关系映射器(ORM),使与数据库的交互变得很愉快。使用 Eloquent 时,每个数据库表都有一个对应的「模型」,用于与该表进行交互。除了从数据库表中检索记录外,Eloquent 模型还允许您从表中插入,更新和删除记录。需要注意的是模型默认使用类的复数形式来作为表名。比如User的模型,表明为users。如果表是以 _ 连接的,则需要通过 大驼峰命名 方式来命名模型。例如:表user_infos 的模型名称为 UserInfo。模型的创建p

2021-11-13 19:20:42 1119

原创 laravel学习-数据的迁移和填充

数据库的配置.env文件DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=laravelDB_USERNAME=rootDB_PASSWORD=rootconfig/database.php默认是mysql,可以改成你指定的数据库。再去connections数据迁移使用 make:migration Artisan 命令 来创建迁移。新的迁移文件会放在 database/migrations 目录。所有的迁移

2021-11-11 21:37:37 713

原创 Laravel学习-控制器

文件位置控制器被存放在 app/Http/Controllers 目录。作用控制器的主要作用就是处理特定URL发过来的HTTP请求,然后进行业务逻辑处理,将结果返回给某个特定的对象。1.控制请求数据的获取与结果的响应;2.进行逻辑判断;3.指挥各部分代码自动、协调地工作;基础控制器Laravel 框架给我们提供了命令来创建控制器php artisan make:controller 控制器名称创建的控制器默认创建在 Controllers 下,如果需要创建子目录下的控.

2021-11-11 10:56:34 734

原创 Shell基础篇-运算符

Shell 基本运算符Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。#!/bin/basha=1b=2sums=`expr $a + $b`echo "两数之和为:${sums}"[root@iZwz96awf0ghl7tyldox1wZ ~]#

2021-11-09 11:37:59 180

原创 Laravel学习-路由

什么是路由路由(route)是 指根据url, 分配到对应的处理程序的映射。简单来说,就是一个路径的解析,根据客户端提交的路径,将请求解析到相应的模块/控制器/方法上。路由的定义构建基本路由只需要一个 URI 与一个 路由地址 ,而 路由地址 可以是 闭包,也可以是控制器方法等。Route::路由方法('路由标识', '路由地址');# Test控制器Index方法Route::get('index',[\App\Http\Controllers\TestController::cla.

2021-11-08 23:46:06 336

原创 初识Shell-入门篇

ShellShell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。Shell 脚本Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通

2021-11-08 17:45:26 566

原创 Redis分布式锁

Redis分布式锁Redis实现分布式锁主要利用Redis的setnx命令。setnx是SET if not exists(如果不存在,则 SET)的简写。127.0.0.1:6379> setnx test:lock 1 #在 test:lock 不存在的情况下,赋值(加锁)(integer) 1127.0.0.1:6379> get test:lock #获取 test:lock 的value值"1"127.0.0.1:6379> setnx test:lock 2 #试

2021-11-07 17:47:14 406

原创 Redis 缓存问题

Redis缓存缓存的优点1.加速读写:因为缓存通常都是全内存的,而存储层通常读写性能不够强悍(例如MySQL),通过缓存的使用可以有效地加速读写,优化用户体验。2.降低后端负载:帮助后端减少访问量和复杂计算(例如很复杂的SQL语句),在很大程度降低了后端的负载。缓存的缺点1.数据不一致:缓存层和存储层的数据存在着一定时间窗口的不一致性,时间窗口跟更新策略有关2.代码维护成本:加入缓存后,需要同时处理缓存层和存储层的逻辑,增大了开发者维护代码的成本。缓存维度划分缓存粒度问题是一个

2021-11-04 21:59:14 149

原创 布隆过滤器的安装

布隆过滤器是一种数据结构,是由一串很长的二进制向量组成,可以将其看成一个二进制数组。既然是二进制,那么里面存放的不是0,就是1。初始默认值都是0。安装

2021-11-04 21:58:10 150

原创 Redis数据类型之stream类型

介绍主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃。Stream 类型结构一个消费组中每个消费者不会消费同一条信息。常用命令xadd描述:在某个stream中追加消息xadd key ID field value [filed value ...]需要提供key,消息ID方案,消息内容,其中消息内.

2021-10-31 19:51:57 589

原创 Redis事务及乐观锁

Redis事务概念任何数据库都要有一套自己的事务控制机制,redis事务是一次可以执行多个命令,它的本质是一组命令的集合。一个事务中所有的命令都会被序列化,在事务执行的过程中会按照顺序执行队列中的命令。其它客户端提交的命令请求会等到事务执行完毕再执行。特点1、redis事务是分为三个阶段:开始事务、命令入队、执行事务。2、redis事务不具有隔离级别的概念:redis在发送exec命令之前,命令操作只是被放入到队列缓存当中,并不会被实际执行,因此也就不能类似关系型数据中,在事务内查询已经

2021-10-31 14:30:48 128

原创 Redis 慢查询原理

许多存储系统(例如MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阈值,就将这条命令的相关信息(例如:发生时间、耗时、命令的详细信息)记录下来,Redis也提供了类似的功能。如下图:慢查询只会记录执行命令的时间。慢日志的存储慢日志的存储是基本链表的。慢查询配置slowlog-log-slower-than:指定执行时间超过多少微秒(1秒等于1000000微秒) 的命令请求会被记录到日志上slowl

2021-10-30 23:22:54 157

原创 Redis数据类型之set类型

简介redis集合(set)类型和list列表类型类似,都可以用来存储多个字符串元素的集合。但是和list不同的是set集合当中不允许重复的元素。而且set集合当中元素是没有顺序的,不存在元素下标。redis的set类型是使用哈希表构造的,因此复杂度是O(1),它支持集合内的增删改查,并且支持多个集合间的交集、并集、差集操作。可以利用这些集合操作,解决程序开发过程当中很多数据集合间的问题。Set数据类型的内部编码Intset(整数集合):当集合元素个数小于set-max-ziplist-en.

2021-10-30 22:42:24 725

原创 Redis数据类型之hash类型与zset类型

1. hash数据类型与结构hash类型介绍hash数据结构 是一个键值对(key-value)集合,它是一个 string 类型的 field 和 value 的映射表,redis本身就是一个key-value型数据库,因此hash数据结构相当于在value中又套了一层key-value型数据。所以redis中hash数据结构特别适合存储关系型对象。比如用来存储学生基本信息,或者用户信息等。1.1 常用命令hmset key field value [field value]…用于同时将

2021-10-30 15:52:10 1044

原创 Redis数据类型之string类型与list类型

1.string数据类型与结构简介String类型是redis的最基础的数据结构,也是最经常使用到的类型。string 类型的值最大能存储 512MB,这里的String类型可以是简单字符串、复杂的xml/json的字符串、二进制图像或者音频的字符串、以及可以是数字的字符串。1.1.常用命令1.set该命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型2.get该命令用于获取指定 key 的值。如果 key不存在,返回 nil 。如果

2021-10-30 15:05:13 1065

原创 nginx 防盗链

nginx配置location ~* \.(gif|jpg|png|jpeg) { valid_referers www.study_nginx.com; if ( $invalid_referer ) { return 403 "$request_filename"; } }location ~* \.(gif|jpg|png|jpeg) { valid_referers www.nginx_cache.com;

2021-10-30 10:45:10 920

原创 Redis的安装

认识ReidsREmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。特点

2021-10-26 21:43:59 45

原创 lua的安装及基本语法

lua 的安装1 安装lua wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz tar -zxvf LuaJIT-2.0.5.tar.gz cd LuaJIT-2.0.5 make && make install PREFIX=/usr/local/LuaJIT2 配置环境变量 vim /etc/profile export LUAJIT_LIB=/usr/local/LuaJIT/.

2021-10-25 23:05:04 343

原创 要以不安全的方式连接至 www.keepalived.org,使用“--no-check-certificate”。

yum install -y ca-certificates再 wget ****** 即可

2021-10-24 14:31:13 4200

原创 nginx+consul+upsync 实现动态负载均衡

consul命令描述agent运行一个consul agentmembers列出consul cluster集群中的membersjoin将agent加入到consul集群leave将节点移除所在的集群

2021-10-24 14:15:38 3385 3

原创 nginx的Gzip配置

1.gzip :该指令用于开启或者关闭Gzip 功能。默认为off,关闭gzip on | off;2.gzip_buffers:该指令用于设置Gzip压缩文件使用缓存空间的大小gzip_buffers number size;number 指定Nginx服务器需要向系统申请缓存空间的个数。size 指定每个缓存空间的大小从Nginx 0.7.28开始,默认情况下number *size 的值为128,其中size 的值取系统内存页一页的大小,为4KB或者8KB,即:.

2021-10-17 20:24:23 10935

原创 nginx 缓存

nginx的缓存机制proxy模块指令配置块名称名称httpproxy_cache_path指定缓冲区的路径levels缓存目录级最高三层,每层1-2个字符表示,比如:1:1:2 三层keys_zone 缓存块名称及内存块大小,比如:cache_item:500m表示声明一个名为cache_item大小为500m,超出大小后最早的被清除max_size缓存区硬盘的最大值,超出闲置数据将被清除inactive最长闲置时间,比如:10d ,

2021-10-17 00:03:20 492

原创 nginx结合Apache动静分离

apache的安装与配置apache下载地址:http://httpd.apache.org/download.cgi#apache24wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.51.tar.gztar -zxvf httpd-2.4.51.tar.gz #解压安装包cd httpd-2.4.51./configure --prefix=/usr/local/apache --enable-rewrite

2021-10-16 21:46:00 134

原创 php-fpm安装

php-fpm安装安装前准备yum -y install gcc automake autoconf libtool makeyum -y install gcc gcc-c++ glibc以上已经安装了可以不用安装yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-de

2021-10-10 16:38:59 2078

原创 nginx的安装和环境搭建

nginx的安装和环境搭建安装前准备安装make:yum install gcc automake autoconf libtool make安装g++yum install gcc gcc-c++安装gcc报错若出现以上情况请检查网关IP【GATEWAY】是否正确安装nginx注意:安装nginx之前,一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。选择源码安装目录,可以是任何目录,这里我选择的是 /home 目录安装pcre库

2021-10-10 15:41:11 389

原创 docker基础

docker 的安装yum -y install docker安装完成后启动docker,不过在启动之前要先修改docker镜像源vim /etc/docker/daemon.json{"registry-mirrors": 你的docker镜像地址}完成后运行systemctl start docker(service docker start),启动docker服务 docker 常用命令docker pull 镜像名 拉取镜像(例:docker pull nginx doc

2021-05-07 15:45:21 37

原创 mysql事务

1.1事务的特性原子性(Atomicity):语句要么全执行,要么全不执行,是事务最核心的特性,事务本身就是以原子性来定义的。实现主要基于undo log日志。持久性(Durability):保证事务提交后不会因为宕机等原因导致数据丢失。实现主要基于redo log日志。隔离性(Isolation):保证事务执行尽可能不受其他事务影响。InnoDB默认的隔离级别是RR,RR的实现主要基于锁机制、数据的隐藏列、undo log和类next-key lock机制。一致性(Consistency):事务

2021-04-20 22:58:37 57

原创 mysql锁机制(innodb)

innodb锁类型1.1排他锁排他锁(X):允许获得排他锁的事务更新数据,阻止其他事务获得相同数据集的共享读锁和排他写锁。对于 update、delete、insert 语句,InnoDB 会自动给设计到的数据集加排他锁即 X。对于 select 语句,InnoDB 不会加任何锁1.2共享锁共享锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。2死锁的产生和处理...

2021-04-19 22:51:45 132

原创 explain语句

explain 语句 select_type表 type字段描述idselect识别符。这是select的查询序列号,id的值越大优先级别越高,越先被执行,如果id相同,执行顺序右上至下select_type示select语句的类型。SIMPLE 表示简单查询,其中不包括连接查询和子查询。 PRIMARY 主查询或者最外层的查询语句SUBQUERY : 子查询UNION :联合查询,union 后面的那张表就会表示成它UNION RESULT: 联合结果t

2021-04-18 22:32:45 32

原创 innodb回表问题

innodb回表回表问题主要是普通索引引起的问题,是在innodb存储引擎下,这个是需要注意。一般是当sql语句查询的时候用到普通索引,获取的数据只要不存在于索引中的情况下就会出现回表问题1.上述的查询语句中的索引只包含a_title字段,并没有其他字段,所以他会去获取a_title='联系我们'的主键。2.根据得到的主键,去主键索引中查找对应的数据最后返回。这就是回表,先定位主键值,再定位行记录,它的性能较扫一遍索引树更低。...

2021-04-18 22:00:48 769

原创 mysql索引

1.1主键索引 PRIMARY KEY它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引。create table myTable(`id` int not null,`username` varchar(16) not null,PRIMARY KEY(id));1.2 唯一索引 UNIQUE唯一索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。可以在创建表的时候指定,也可以修改表结构ALTER TABLE table_name ADD

2021-04-18 21:20:44 29

原创 linux性能查询命令及管道

Linux性能查询命令1.ps命令查看CPU及性能使用率ps -aux ps -efUSER: 行程拥有人PID: pid(可通过 kill -09 pid 杀死对应进程)%CPU: 占用的 CPU 使用率STAT: 该行程的状态: D: 无法中断的休眠状态 (通常 IO 的进程) R: 正在执行中 S: 静止状态 T: 暂停执行 Z: 不存在但暂时无法消除(僵尸进程) W: 没有足够的记忆体分页可分配 <: 高优先序的行程 N: 低优先序的行程

2021-04-17 23:09:42 151

原创 mysql文件

文件数据存储文件日志文件慢查询日志错误日志中继日志二进制日志数据存储文件MySQL数据库会在data目录下面简历一个以数据库为名的文件夹,用来存储数据库中的表文件数据。不同的数据库引擎,每个表的扩展名也不一样 ,例如: MyISAM用“.MYD”作为扩展名,Innodb用“.ibd”。.FRM 文件(8.0之前)无论是那种存储引擎,创建表之后就一定会生成一个以表明命名的'.frm'文件。frm文件主要存放与表相关的数据信息,主要包括表结构的定义信 息。当数据库崩溃时,用户可以通过frm文件来恢复数

2021-04-17 22:43:06 132

原创 laydate插件之坑

laydate 插件预期效果 结束时间不能小于开始时间<script> var startDate = laydate.render({ elem: id1, format: 'yyyy-MM-dd' , done: function (value, date) { endDate.config.min = { year: date.year,

2021-04-01 17:08:19 222

空空如也

空空如也

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

TA关注的人

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