摘要: 安装elasticsearch docker pull elasticsearch:7.4.2 docker run -d --name es3 -p 9202:9202 -p 9302:9302 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v d:/es/config 阅读全文
posted @ 2021-12-02 09:27 惊风破浪的博客 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 结构体转json type User struct { UserName string `json:"user_name"` Sex string `json:"sex"` Score float32 `json:"score"` Age int32 `json:"age"` } user := & 阅读全文
posted @ 2021-10-29 17:31 惊风破浪的博客 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 互斥锁 保证读取每个变量都是安全的,互斥锁能够保证同一时间有且只有一个goroutine进入临界区,其他的goroutine则在等待锁; package main import ( "fmt" "sync" ) var x int64 var wg sync.WaitGroup var lock s 阅读全文
posted @ 2021-10-13 16:15 惊风破浪的博客 阅读(372) 评论(1) 推荐(0) 编辑
摘要: 解决方案:乐观锁,悲观锁,redis watch,redis分布式锁,消息队列 将库存字段number字段设为unsigned,当库存为0时,因为字段不能为负数,将会返回false 乐观锁 //乐观锁,通过版本号实现,数据库中加入一个version,A用户读取version等于1=时,完成减扣之后将 阅读全文
posted @ 2021-08-20 09:40 惊风破浪的博客 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 定义接口 package main import "fmt" type Shaper interface { Area() float32 } type Square struct { side float32 } func (sq *Square) Area() float32 { return 阅读全文
posted @ 2021-05-11 14:10 惊风破浪的博客 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 切片 定义切片 //golang语言切片是对数组的抽象,长度不可改变与数组相比切片长度不固定,可以追加元素,追加可能使切片容量增大 //切片初始化 var numbers = make([]int, 3, 5) fmt.Printf("len=%d cap=%d slice=%v\n", len(n 阅读全文
posted @ 2021-05-09 20:22 惊风破浪的博客 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 分区 一般情况下我们创建的表对应一组存储文件,使用MyISAM存储引擎时是一个.MYI和.MYD文件,使用Innodb存储引擎时是一个.ibd和.frm(表结构)文件。 当数据量较大时(一般千万条记录级别以上),MySQL的性能就会开始下降,这时我们就需要将数据分散到多组存储文件,==保证其单个文件 阅读全文
posted @ 2021-04-30 14:44 惊风破浪的博客 阅读(316) 评论(0) 推荐(0) 编辑
摘要: ![](https://img2020.cnblogs.com/blog/2283621/202104/2283621-20210425190728985-1501196058.png) 阅读全文
posted @ 2021-04-25 19:08 惊风破浪的博客 阅读(146) 评论(0) 推荐(1) 编辑
摘要: Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 set/get类型 $memcached = new Memcache(); $memcached->connect('127.0.0.1',11211); //存取数据库数据,计数器等等,接口数据等等 $res = [ [ 'i 阅读全文
posted @ 2021-04-24 20:31 惊风破浪的博客 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 队列 队列是典型的 FIFO 数据结构。插入(insert)操作也称作入队(enqueue),新元素始终被添加在队列的末尾。 删除(delete)操作也被称为出队(dequeue)。 你只能移除第一个元素 先入先出 class Queue { private $queue; private $siz 阅读全文
posted @ 2021-04-21 15:23 惊风破浪的博客 阅读(59) 评论(0) 推荐(0) 编辑
摘要: Fizz Buzz 如果 n 是3的倍数,输出"Fizz",如果 n 是5的倍数,输出“Buzz".如果 n 同时是3和5的倍数,输出 "FizzBuzz" function fizzBuzz(int $n): array { $result = []; //初始化为数字 for ($i = 1; 阅读全文
posted @ 2021-04-20 11:46 惊风破浪的博客 阅读(489) 评论(0) 推荐(0) 编辑
摘要: class Sort { public $array = [1, 22, 21, 23, 4, 5, 25, 6]; /** * 快排算法 * @param array $arr * @return int[] */ public function quickSort($arr = []): arr 阅读全文
posted @ 2021-04-18 11:35 惊风破浪的博客 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 删除排序数组中的重复项 class Solution { /** * 删除排序数组中的重复项 时间复杂度O(1) * @param $nums * @return array */ function removeDuplicates(&$nums): array { $count = count($ 阅读全文
posted @ 2021-04-18 11:25 惊风破浪的博客 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 七层协议 应用层 ,表示层,会话层,传输层,网络层 ,数据链路层,物理层 IP协议:保证传递可靠性,流控制,包顺序,基本功能寻址和分段; TCP(传输层):一种面向连接的,可靠的,基于字节流的传输层通信协议,应用层向TCP层发送网间传输的,8位字节表示的数据流,然后把TCP数据流分成适当长度报文段。 阅读全文
posted @ 2021-04-17 23:44 惊风破浪的博客 阅读(64) 评论(0) 推荐(0) 编辑
摘要: cgi协议模式 通用网关接口 web服务器接收请求->fork子进程调用程序/执行程序->程序返回内容->程序调用结束->web服务器接收内容,返回给用户,由于每次请求,都得fork创建进程调用一次程序,然后销毁进程,性能较低; fastcgi协议模式 通用网关接口 fastcgi是cli模式的升级 阅读全文
posted @ 2021-04-03 10:41 惊风破浪的博客 阅读(58) 评论(1) 推荐(0) 编辑