09 2023 档案
摘要:PG的mvcc模式:多版本并发控制,通过在数据库中创建多个版本的数据来实现并发的读写操作。每个数据库事务都能够看到一个逻辑上一致的数据库快照,当一个事务修改了数据库中的数据时,他不会直接修改原始数据,而是创建一个新的数据版本,并将修改后的数据写入新的数据版本中,这样其他事务依然可以读取到旧的数据版本
阅读全文
摘要:Casbin元模型: PERM模型 P(策略)={sub,obj,act,eft}一般存储到数据库 Sub:访问实体,一般是用户或者角色,可以用来表示用户的身份信息 object:被访问的资源,例如 文件,数据库表等 act:访问的方法,例如读取,写入。 eft:策略结果,一般为空,默 认指定all
阅读全文
摘要:数据库中,datetime和timestamp区别? Datetime类型表示时间,可以精确到秒或更小精度,存储1000-9999年的时间 Timestamp表示时间,存储1970年1月1日经过的秒数(也叫UNIX时间戳),存储1970到2038年时间。 区别:datetime使用固定长度,不受时区
阅读全文
摘要:内存管理对堆而言的,程序在运行时主动从堆上申请内存,这些内存通过go的内存分配器分配,由垃圾回收器回收。栈是每个goroutine独有的,不需要在操作的时候加锁,而堆上的内存有时需要加锁防止多线程冲突。对程序上的内存回收需要通过标记清除阶段,比如采用三色标记法。对栈而言,他的分配和释放是十分廉价的,
阅读全文