240 发简信
IP属地:广东
  • 120
    深入 ProtoBuf - 编码

    在对 ProtoBuf 做了一些基本介绍之后,这篇开始进入正题,深入 ProtoBuf 的一些原理,让我们看看 ProtoBuf 是如何尽其所能的压榨编码性能和效率的。 编码...

  • 如何使用RedisTemplate访问Redis数据结构

    Redis 数据结构简介 Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(...

  • 120
    实时联网游戏后台服务技术选型与挑战(网络接入篇)

    概述:本系列文章将从开发者角度梳理开发实时联网游戏后台服务过程中可能面临的挑战,并针对性地提供相应解决思路,期望帮助开发者依据自身游戏特点做出合理的技术选型。 关于网络游戏,...

  • 请问楼主Delete时插入删除时间字段的
    是当前系统的最高版本号
    还是当前执行Delete操作的事务版本号,
    比如有事务1先执行select,这时来了事务2也执行select,然后事务1接着执行delete,这时要填入删除时间的是最高版本号2呢还是当前事务id1呢,
    我从别的地方查找的资料都是说 “DELETE:InnoDB将当前的系统版本号设置为这一行的删除ID”。
    如果是填入当前事务id1,那么事务2再次执行select的话就检索不到被事务1delete的行了,因为那一行的删除时间为1,小于了事务2的id,这样就出现了不可重复读。
    如果是填入最高版本号2,那么事务2再select时不会出现不可重复读,但是事务1如果再次select ,就会因为那行被delete的数据删除时间为2大于事务1的id再次被检索出来,事务1就会看到上一步被它删除的数据, 为此感到疑惑往楼主赐教

    MVCC 能解决幻读吗?

    昨天面试当中一个小伙认为MVCC可以解决RR中的幻读问题, 先说结论, MVCC不能解决幻读,很遗憾还是得用锁。 下面详细描述一下。InnoDB的MVCC, 实现的是基于多...