There was an error while loading. Please reload this page.
Welcome to the DCache wiki!
MKVCache支持k-k-row的数据结构,主key+联合key+value字段 构成一条记录。主key只能由一个字段组成,联合key可以是1个或多个字段,value字段可以是1个或多个字段。 主key+联合key 构成唯一索引,即主key+联合key可以唯一确定一条记录。例如下面的数据表,userID为主key,联合key有两个字段:purchaseItem和purchaseTime,value字段有多个:quantity,price和hasPaid。指定主key userId可以查询出多条记录,指定userId,purchaseTime和purchaseTime可以唯一确定一条记录。
如果查询的某个key不存在,DCache会在内存中增加一条onlykey记录,该记录只有key没有value,目的是为了标识该key不存在,从而避免频繁查询不存在的key时,大量请求穿透到后端DB。
DCache中每条数据都有版本号,版本号为byte类型,循环递增。版本号可以起到乐观锁的作用,例如用户修改一条数据时,想确保只有自己在修改该数据,可以采用以下步骤:
DCache收到插入/更新/删除请求时,如果请求参数中的数据版本号(ver)不为0,DCache则会在修改数据前校验内存中该数据的版本号是否和参数ver一致。