互动
最近评论

mutex是互斥锁,是一种悲观锁。

因为当一个goroutine想要访问被sync.Mutex保护的资源时,如果锁已经被其他goroutine持有,则该goroutine会被阻塞,直到锁被释放。

这种机制确保了在任何时刻,只有一个goroutine可以访问受保护的资源,这与悲观锁的锁定资源和等待释放的策略一致。

三次握手四次挥手,sync.pool处理小变量减小gc压力

最左原则建立联合索引,根据区分度和使用频率选前后顺序

git --dry-run 查看即将进行的操作但不更改

接口前端参数传的越复杂,后端接口实现的功能越可扩展。参数越少,说明只针对这个参数。各有优劣。

接口高并发扛不住以后怎么办,第一反应:分三组,A组尽快解决线上问题,比如降级,横向扩容,调整配置策略等;B组调查瓶颈,后续修复bug或者缓存中间件调正;C组善后,解决问题中出现的错误或丢失数据问题,协助善后工作;优先级是ACB,因为修复问题是最慢的

pgrep -u username php | xargs kill这个命令会查找所有属于username用户且名称中包含php的进程,并将它们的PID传递给kill命令。

oracle 对clob进行字符处理比varchar慢很多

退火机制,for错误等待时间<最大等待时间,执行操作,若错误不为空则睡眠一个间隔时间,并给错误等待时间累加间隔时间,给睡眠间隔时间加上睡眠间隔时间,设置最大睡眠间隔时间,继续循环操作。

mysql的索引只能用于定长的类型,比如blob和text等动态长度,也就是无法指定长度的,无法使用

CAS是"Compare-And-Swap"的缩写,即比较并交换。这是一种常用的原子操作,用于实现乐观锁。

消息队列很重要的一个作用:削峰填谷

下班捏,天阴沉沉

1 可以做什么 2 有什么优缺点 3 适用于什么场景

git ignore虽然可以忽略文件更改,但是要求文件没上传到仓库中,比如.idea .vscode这种配置 没必要上传,但比如config/config.yml这种配置文件,已经被git追踪,即使在gitignore中 添加了,仍然还是无效唉哦

go string底层是常量,转换成别的类型比如[]byte会发生内存拷贝

极限踩点打卡的一天

换服务器了~从centos7.9->anolis7.9->euler2.0->debian11

强烈安利codeup,除了不公开其他都挺好!

swaggo-每次添加或修改注解后,都需要使用swag init命令重新生成文档,使其生效???太麻烦哩

下班了

文章来源自个人codeup知识库,更新可能不及时。

更新频率:blog最频繁,dosify有时间再整理...

在deepin中访问~!

下班,又是摸鱼的一天

延迟双删:保证数据一致性,更新数据时进来先删除一次redis缓存,执行更新数据库以后,延时后再删除一次,再次删除需要评估第二个线程过来查询再放入缓存需要的耗时

强一致性就导致性能损耗

先操作数据再操作缓存可以保证最终一致性,极端情况下删除失败进行删除重试操作,异步发送消息到消息队列mq种

CSP模型作为Go语言并发模型的核心之一,通过channel机制实现了进程之间的通信和协同工作。 它简化了并发编程的复杂性,提高了程序的可靠性和可维护性

linux脚本赋值=两边不能存在空格!!!!!!!!

Caicai Blog
Halo
更多信息请关注 GitHub
11. 盛最多水的容器
sh和bash的区别
[困难] 10. 正则表达式匹配
2741. 特别的排列
Winmerge-文件夹比较合并工具
ETCD 入门
LCP 03. 机器人大冒险
LCP 02. 分式化简
LCP 01. 猜数字
[20240605]LCP 61. 气温变化趋势
你好啊!
avatar
avatar
一个目前
前端/后端/运维/硬件
都涉猎一点的后端开发
最新评论
头像
测试一下
菜菜 /
最近发布
go log添加钩子
go log添加钩子
记一个mysql时区的坑
记一个mysql时区的坑
Go面试题
Go面试题


文章数 :
57
访问量 :
917
建站天数 :
2024-05-27
引用到评论