mysql 相关问题(一) 事务与锁
事务的基本特性和隔离级别事务基本特性 ACID 分别是:
原子性:指一个事务中的操作要么全部成功,要么全部失败。
一致性:指数据库总是从一个一致性的状态转换到另外一个一致性的状态。
隔离性:指一个事务的修改在最终提交前,对其他事务是不可见的。
持久性:指一旦一个事务提交,所做的修改就会永久保存在数 ...
redis 为什么这么快
之前总是说“因为基于内存,所以redis特别的快”,那么具体详细的原因解释,这次深究一下:
基于内存Redis 是基于内存的数据库,直接由 CPU 控制,也就是 CPU 内部集成的内存控制器,享受 CPU 通信的最优带宽。Redis 将数据存储在内存中,读写操作不会因为磁盘的 IO 速度限制,所以是 ...
Go的 csp 并发模板
最近学习知识点的时候,包括读《GO 并发编程》的时候,发现频繁被提到的CSP 并发模型,便花了点时间记一下相关知识点,如有错误,欢迎指出。
Go 实现了两种并发形式。第一种就是大家普遍认知的:多线程共享内存。也就是 Java 或者 C++等语言中的多线程开发。另外一种是 Go语言特有的,也是 Go ...
GO1.16正式版发版 更新内容
Go1.16正式发布了,当晚就被各种技术公众号,公司研发讨论组刷屏,其实我不是个对新事物特别敏感的人,但是好奇心还是有的,而且!想着成为一名优秀的研发,对新技术的敏感度还是要有的,所以也便仔细研读了更新公告, 简单整理一下几个改动的点,顺序按照自己所做的项目的涉及,以及影响面:
GO111MODU ...
Linux常见 IPC 方式
多个进程之间需要协作完成任务,进程之间的通信方式:IPC(Inter-Process Communication).
在 Linux 操作系统中,可以使用的 IPC 方式有很多种,从处理机制的角度看,他们可以分为三大类:基于通信的 IPC 方法、基于信号的 IPC 方法,基于同步的 IPC 方法。
...
redis 中 key 的长度相关问题
最近在写一个计数器需求,简单来说,就是用 redis 针对不同的key做不同的count计数,普通到不能在普通的逻辑了。写的时候有了这样的思考:因为想尽可能的计数对象的特征记下来,所以key可能会很长(其实就是人为感觉得长,也不会说几百几千个字符),那么 redis 中对 key 的长度有没有要求呢 ...
不同域名下同名cookie 的问题
背景前一段时间做了一个业务上的修改,(以下均为举例) 原始在violatangxl.github.io下有个名为XXX_id的 cookie (生成机制,简单理解成一个带有时间戳的字段吧,每次生成结果都不一致),因为某些原因,想把该 cookie 的 domain 扩大到 github.io。
简单 ...
Go打包二进制文件
最近有几个需要刷数据的任务,单独写接口,太麻烦,还要走发版流程,简单粗暴一些,就直接写脚本,大佬们 review 一下,跳板机上直接运行了。(review 代码、审核等正常研发流程,还是要走呀,不可以太直接粗暴。)
go 不像 java 等运行于JVM之上的语言,也不像 php、python 等解释 ...
添加、删除 submodule
如何为一个项目增加submodule在 git 项目中,可以使用下面的命令,为其增加submodule
(假设需要增加的项目的 url 为 git@github.com:violatangxl/xxx.git, 分支为mod-develop,path 为 sub)
go1git submodule ...
有关 defer 的故事
最近写涉及链接数据库的单测比较多,很多地方用到了defer, 之前只知道用,大体有个了解,空闲时间看了几篇博文,简单整理一下。
调用时间defer的调用时机,不是在退出代码块的作用域时执行的,它只会在当前函数和方法返回之前被调用。
go12345678910111213func main() { ...