草庐IT

.NET中比肩System.Text.Json序列化反序列化组件MessagePack

简介    官方定义:MessagePack是一种高效的二进制序列化格式。它允许您像JSON一样在多个语言之间交换数据。但是它更快并且更小。   MessagePack是一种开源的序列化反序列化组件,可支持JAVA,C#等主流语言。在C#中使用MessagePack,需要添加MessagePack-CSharp组件,在.NET6之后直接添加MessagePack。它支持.NETFramework、.NETCore和Unity应用程序。它提供了一个简单的API,可以帮助开发人员在应用程序中快速实现对象的序列化和反序列化。使用MessagePack组件,可以将对象序列化为二进制数据,这样可以将数据

mysql的MVCC机制

面试问题:如果两个客户端同时执行一个查询sql,为什么查出的数据可能不一样?解答:是因为mysql底层维护了一个undo日志版本链和read-view一致性试图机制,在repeatable-read隔离级别下,一个事务开启之后,当执行查询语句的时候,就生成了一个read-view,之后查询就会根据一定的规则去undo日志版本链中比对数据;在read-commited隔离级别下,一个事务开启之后,每次执行查询语句的时候,都生成新的read-view,查询就会根据和repeatable-read隔离级别下一样的规则去undo日志版本链中比对数据。对比规则如下:如果版本链中的trx_id如果版本链中

mysql的MVCC机制

面试问题:如果两个客户端同时执行一个查询sql,为什么查出的数据可能不一样?解答:是因为mysql底层维护了一个undo日志版本链和read-view一致性试图机制,在repeatable-read隔离级别下,一个事务开启之后,当执行查询语句的时候,就生成了一个read-view,之后查询就会根据一定的规则去undo日志版本链中比对数据;在read-commited隔离级别下,一个事务开启之后,每次执行查询语句的时候,都生成新的read-view,查询就会根据和repeatable-read隔离级别下一样的规则去undo日志版本链中比对数据。对比规则如下:如果版本链中的trx_id如果版本链中