遗忘悠剑

🍀 记录精彩的程序人生 开始使用
乐观锁、悲观锁、【多线程系列】CAS、AQS 等的介绍和典型用法~

乐观锁、悲观锁、【多线程系列】CAS、AQS 等的介绍和典型用法~

一、并发控制当程序中可能出现并发的情况时,就需要通过一定的手段来保证在并发情况下数据的准确性,通过这种手段保证了当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。这种手段就叫做并发控制。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。常说的并发控制,一般都和数据库管理系统(DBMS)有关。在 DB
Mysql 的索引原理,让我们一起复习一下吧

Mysql 的索引原理,让我们一起复习一下吧

一、初识索引 1.1 为什么要有索引?一般的应用系统,读写比例在 10:1 左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。1.2 什么是索引?索引在 MySQL 中也叫是一种“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的
和我一起学习 go 语言: 2. 看完了基础写个冒泡排序吧

和我一起学习 go 语言: 2. 看完了基础写个冒泡排序吧

碎碎念提笔,居然写了半天没写好 ~,后来终于成功了 ~ 但是又迷茫了 ~ 因为百度了下发现还有别的写法代码 packagemainimport"fmt"funcmain(){ar:=[]int{9,8,0,4,2,7,1,6,3,5,11}varout=sort(ar)fmt.Println(out)ar1:=[...]int{9,8,0,4,2,7,1,6,3,5}out1:=bubble_sort(ar1)
[转] 蝉的传奇一生,真的很悲惨啊~

[转] 蝉的传奇一生,真的很悲惨啊~

夏天到了,知了在树上叫。可是,大部分都不知道知了的一生,比我们想象的要传奇。“蝉的卵产在树上,到第二年春夏,蝉卵才孵化出幼虫来。刚孵出的幼虫顺着树干爬到地上或掉落地面,然后找松土钻入地下,幼虫在地下靠刺吸式口器吸取树根的汁液。幼虫长大后爬出地面,脱去外壳,等翅膀变硬,雄蝉就在树枝上高唱:“知了”,与雌蝉交配。蝉交配产卵后不久就死去。”我们来整理一下,大概是这样的,你看到的蝉在树上叫,它找到爱人产的卵
laravel 队列 (调度任务) 最大重试次数配置以及单任务最大执行时间配置

laravel 队列 (调度任务) 最大重试次数配置以及单任务最大执行时间配置

首先官方文档队列:https://learnku.com/docs/laravel/5.8/queues/3923 任务调度:https://learnku.com/docs/laravel/5.8/scheduling/3924 总结配置方法方法一:artisan 命令,增加—tries 或者—timeoutphpartisanqueue:listen--tries=3//失败任务尝试 3 次 phpartis
PHP 生成视频快进快退使用的预览缩略图 (demo)

PHP 生成视频快进快退使用的预览缩略图 (demo)

例如爱奇艺、腾讯、B 站等等快进快退都有一个快速预览缩略图,那么是怎么做的呢?首先就是需要服务端生成这张图,例如可以根据视频长度生成几张,下面介绍一下生成的方案 <?php/***生成视频快进快退用的缩略图*@paramarray$imgs 待合成的图片数组*@returnarray['success','拼接图地址']*/functiongetVsample($imgs){$t_y=$img_num=0
比 php 正则判断是否为 url 更精准的 php 判断 url 是否有效的方案

比 php 正则判断是否为 url 更精准的 php 判断 url 是否有效的方案

首先介绍一下正则判断 url 的方法,其实已经很完美了哈!但是依然无法确认 url 是否有效正则判断 url 是否正确(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]这个正则应该是网上流传的比较完美的版本了,url 里有 IP 地址、前后有汉字、又或者带参数,都能完美胜任!但是,网址能不能访问,又或者出了其他规则的 url,可
2020 年之后,php 正则判断手机号是否正确~

2020 年之后,php 正则判断手机号是否正确~

三大运营商号段整理电信:133、153、173、177、180、181、189、191、193、199 联通:130、131、132、155、156、166、175、176、185、186、166 移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、198 手机号码规则总结第一位:1
Mysql 如何优雅的生成一些普通报表数据呢?mysql 的 case when 用法 (新手可看,老鸟勿喷~)

Mysql 如何优雅的生成一些普通报表数据呢?mysql 的 case when 用法 (新手可看,老鸟勿喷~)

背景工作中,难免会遇到一些数据报表查询、报表邮件发送等等,但是大部分新人 SQL 语法用的并不会很多,很多会停留在学习时候的基础阶段,毕竟工作中,大部分时候是写代码,而非写 SQL 嘛!一个常用的报表查询语句 selectFROM_UNIXTIME(`create_time`,'%Y-%m-%d')ASdate,sum(caseproductidwhen'content_monthly'then1else0e
php 如何生成两个日期区间的日期数组呢?就像 range(1,6) 函数那样!

php 如何生成两个日期区间的日期数组呢?就像 range(1,6) 函数那样!

问题背景当时想到的时候感觉是一件很简单的事情,内置函数肯定有吧!但是确实没有找到,那么就动手写一个吧!想想也不难 ~ 思考因为有个日期函数大家经常用,例如获取一周的数据,那么你就得获取一周前的今天的日期,这个函数就是 strtotime('-7days')实现看到这里就好办了吧,利用 while,然后日期一直 +1,直到加不动为止 😄😄😄 看下面代码 ~<?php/***日期范围得到一个天为单位的数组*@param