自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

alwayszmj

菜鸡成长笔记

  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 【git】多仓库开发

通常我们习惯了在单个仓库下多分支开发,最近用了多仓库开发,我拿一个开源项目举例,总结一下基本流程。1.fork项目到自己仓库2.把自己仓库项目pull到本地3.在本地新建开发分支git checkout -b dev4.修改/添加分支对应的远程仓库修改原origin为你fork项目的原地址:git remote set-url origin git@github.com:authorName/project.git新增dev为你自己仓库地址:git rem...

2024-04-23 21:27:15 355 1

原创 【go】学习笔记:数组切片

切片的创建来源分别是基于数组、切片、直接创建,切片引用了一个数组,包含指针、长度、容量三部分,通过本例可以发现,通过切片(或数组,效果一样)创建切片时, 如果最小引用为0,切片的指针可以指向原数组(或切片),其容量是不会丢失的,但是如果最小值大于0,就会丢失其之前部分的容量。package mainimport "fmt"func main() { arr := []int{1,2,3,4,5,6,7,8,9,0} arr1 := arr[0:3] fmt.Print...

2022-01-14 15:32:30 259

原创 【go】学习笔记

最近开始学习go,打算先学习基本语法,再刷一些简单的算法巩固一下,再选一两个go框架看看微服务和对高并发的支持。目前学语法层面来说,学C时候那种感觉又回来了...

2022-01-11 19:35:14 318

原创 单用户并发问题

最近写了一个感恩节相关活动,一个做任务获得活动币的接口提交后被领导批“会被用户刷爆”,代码非常简单,就是redis判断该用户今日是否做过该任务,没做过->活动币写入mysql 、redis。 刚开始还一脸懵,我判断的是单个用户啊,又不是整个平台的秒杀,每个用户又互不影响,刷啥? 再说redis是单线程的,就算一个用户真在多个设备请求了,那我完成一次后就改redis了后来的就刷不到了啊...难道是我先写mysql再写redis容易出问题,并发会出现在写...

2021-11-20 23:53:06 1244

原创 【redis】mysql与redis数据一致性问题

在增删改数据后,我们往往需要删除旧缓存,以生成新的缓存,但是redis和mysql无论谁先执行都不能保障另一个会失败,所以会出现不一致问题。首先需要确定的是,由于网络等各种原因的限制,mysql与redis数据是不可能保持强一致性的,就算是单机、mysql加锁、串行化执行都不能保证强一致性。通常我们所说的一致性需要根据业务场景综合分析对策。个人认为一致性的要求分为“时效性”和“准确性”两方面。时效性:mysql更新后redis尽快删除。准确性:mysql更新后redis也要删除,尽可能减少更

2021-08-26 09:59:46 244

原创 【php】基础知识

php的垃圾回收机制

2021-08-24 13:53:23 192

原创 【php】面向对象常见问题

面向对象 好处 特性

2021-08-24 13:50:40 111

原创 【redis】scan系列命令详解

scan常用于在大量redis key中寻找具有指定前缀的key(当然如果你一直使用图形工具可能不太了解它)它是一个基于游标的迭代器,每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数, 以此来延续之前的迭代过程,初始游标为0。SCAN 返回一个包含两个元素的数组, 第一个元素是用于进行下一次迭代的新游标, 而第二个元素则是一个数组, 这个数组中包含了所有被迭代的元素。如果新游标返回 0 表示迭代已结束,即不再又下一页的数据,如果

2021-08-16 11:43:54 4131 1

原创 【算法】二进制中1的位数(汉明重量)

算法 二进制中1的位数 汉明重量

2021-08-03 23:16:41 149

原创 【算法】0~n-1中缺失的数字

0~n-1中缺失的数字

2021-07-28 13:24:01 170

原创 【算法】动态规划合集

动态规划 打家劫舍 种花问题 最大子序和

2021-07-27 22:23:54 263 1

原创 【算法】双指针合集

合并排序数组

2021-07-26 13:01:42 131

原创 【redis】二级索引

redis二级索引 复合索引 hexastore

2021-07-22 13:45:30 844

原创 【中间件】RocketMQ问答合集

1.为什么要引入MQ(好处)异步、解耦、削峰2.MQ缺点系统可用性降低任何集群的可用性都是<1的,因此引入MQ需要尽可能保证其可靠性系统复杂度增高消息一致性问题系统A处理完业务后发消息给B、C,发给B的消息失败了,发给C的消息成功了,该怎样处理?(两个方面:一方面尽可能保证一致性,另一方面业务代码中需要考虑处理不一致性问题)3.MQ对比...

2021-07-15 15:11:27 134

原创 【laravel+redis】分布式锁的实现

laravel 原子锁

2021-07-15 08:42:26 1725 2

原创 【laravel8】生命周期

laravel生命周期

2021-07-10 10:36:59 342 2

原创 【mysql】主从复制

mysql主从复制

2021-07-10 10:35:34 81

原创 【Linux】阿里云Linux运维题目分析

Linux 运维 IP协议

2021-07-10 10:32:08 175 1

原创 【数据库】阿里云数据库测试题目分析

mysql db redis mongodb是的,每个索引是个B+树...

2021-07-08 22:34:53 155 1

原创 【算法】摩尔投票法

数组处理 摩尔算法 map

2021-07-06 22:39:40 117 2

原创 【算法】进制转换合集

进制转换

2021-07-05 22:55:57 96

原创 【算法】内存溢出问题

算法 内存溢出 进位

2021-07-04 22:41:57 293 2

原创 【中间件】RocketMQ简单源码与基本使用

rocketMQ

2021-06-30 17:15:18 391

原创 【mysql】常见问题

1.mysqld和mysql.server启动mysql有什么区别mysqld:这个可执行文件就代表着 MySQL 服务端程序,运行这个可执行文件就可以直接启动一个服务端进程。mysqld_safe:这是一个启动脚本,它会间接调用mysqld,而且还顺便启动了另外一个监控进程,这个监控进程在 MySQL 服务端进程挂了之后可以帮助重启它。另外,使用mysqld_safe启动 MySQL 服务端进程时,它会记录服务端出错信息和其他诊断信息,从而方便后续排查错误原因。mysql.server:这..

2021-06-23 17:06:51 247

原创 【RocketMQ】ubuntu18下部署RocketMQ集群

ubuntu18下部署RocketMQ集群

2021-06-23 16:48:14 434

原创 网络协议与通信

全双工 半双工 单工

2021-06-11 14:47:52 332

原创 【算法】力扣菜鸟

1.两个内部已排序数组,如arr1=[1,3,4,6,7],arr2=[3,4,6,8,9],将两个数组合并为一个新的排序数组。$arr1=[1,3,4,5,9];$arr2=[2,4,6,7,9];function myMerge($arr1,$arr2){ $i=0;$j=0; $int = array(); while($i<count($arr1) && $j<count($arr2)){ $int[] = $arr1[$i]<$arr

2021-06-04 16:51:13 135

原创 【bug记录】laravel8配置phpredis集群连接

集群搭建好了,本地也能正常访问,在app\database.php redis数组中做如下配置:<?phpuse Illuminate\Support\Str;return [ 'redis' => [ 'client' => env('REDIS_CLIENT', 'phpredis'), 'options' => [ 'cluster' => env('REDIS_CLUSTER', 're

2021-05-21 21:53:49 2850 2

原创 【redis】实现四种常见限流

redis限流 漏斗限流

2021-05-11 21:29:56 1081

原创 【php】中间件、装饰器模式与面向切面编程

中间件 装饰器模式 切面编程

2021-05-09 17:15:44 232

原创 【算法】二分查找合集

二分查找及其应用

2021-05-07 22:30:16 179

原创 【laravel】门面:重载、延迟静态绑定、注册树模式、外观模式、Mockery

【laravel】门面:重载、延迟静态绑定、注册树模式、外观模式、Mockery

2021-05-07 10:31:45 226

原创 【redis】lua脚本入门

之前文章中提到过,redis官方在考虑lua代替事务,与事务相比,lua脚本也具有原子性,并且lua脚本在执行的时候,也会阻塞其他脚本或者redis命令并发执行,所以要尽量避免执行时间很长的脚本。与事务只在所有语句执行完才能看到返回信息不同,lua可以在运行途中输出执行结果,好根据此结果判断接下来要干啥(if),还支持客户端缓存lua语句。纯函数脚本应该被写成纯函数,对于同样的数据集输入,给定相同的参数,脚本执行的 redis 写命令总是相同的。脚本执行的操作不能依赖于任何隐藏(非显式)数据,不

2021-05-02 21:10:51 553

原创 【工具】JMeter入门

jmeter是非常好用的web服务器压测工具,尤其是当我们写了一些核心代码时,压测非常有必要,因为一些bug在并发大的时候才能测出,比如涉及分布式锁的超卖问题。下载安装下载本机windows系统,官网http://jmeter.apache.org/download_jmeter.cgi下载最新版,因为不需要源码,所以我选了binaries,又win选zip,linux选tgz。解压解压到自己指定位置,D:\abc\jmeter\apache-jmeter-5.4配置环境变量

2021-04-28 17:11:48 75

原创 【redis】streams简介

stream相关命令

2021-04-27 11:14:43 1001

原创 【redis】基本数据结构简单源码解析

sds dict ziplist quicklist skiplist listpack rax

2021-04-27 09:54:10 270

原创 【redis6.0】部分配置文件释义

redis可以在不使用内置默认配置的配置文件的情况下启动,但是它不适合线上,根据服务器情况调整redis.conf是非常必要的。includeredis.conf可以包含其他位置的配置文件,但是一般将include的文件放在redis.conf开头,免得它覆盖掉redis.conf的配置。bind...

2021-04-22 21:01:27 273

原创 【redis】cluster相关知识点整理

cluster为redis带来了什么呢?高达1000个节点的高性能和线性可扩展性,在多个节点间自动拆分数据集 可接受的写安全度系统尝试(尽最大努力)保留来自与大多数主节点连接的客户端的所有写操作。通常有一些小窗口,在这些窗口中可以丢失已确认的写入。当客户端位于少数分区时,丢失已确认写入的窗口会更大。一部分节点出现故障或无法与集群的其余部分通信时,继续运行的能力。redis cluster能够在大多数主节点都可访问且每个不再可用的主节点上至少有一个可访问的从节点的分区中幸存。而且,通过使用副本迁

2021-04-18 22:28:45 308 2

原创 【redis】cluster配置和故障转移

redis cluster配置和故障转移

2021-04-15 21:30:45 1222 1

原创 【php】单例模式

单例模式是为了让类只被实例化一次,比如在写文件等对资源的操作时,可以避免一个全局使用的类频繁地创建与销毁。php代码实现:class singel{ private static $i; //避免被实例化 private function __construct(){ echo 'test'; } //避免被clone private function __clone(){ } public static fu

2021-04-12 10:20:54 81

rocketmq-console.zip

rocketmq-console.zip

2021-06-24

空空如也

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

TA关注的人

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