我有一组存储在noSQL数据库中的数据块。要更新我需要的数据:
(不幸的是没有直接的CAS支持)。
此操作分批完成,按键索引的数据块(二进制密钥/值DB)属于我可用于锁定的订单。但是,我可能需要在一个批处理中更新多个订单,因此我需要锁定所有或没有锁定的可能性(最好是定时阻塞操作)。
API看起来像:
void lock(long... orderIds, long timeout) throws NotPossibleToGetLockException;
void unlock(long... orderIds);
我认为死锁并不是一个真正的问题,因为我可以在尝试获取锁定之前轻松对所需的订单进行排序。
是否有支持此类功能的库?