GitHub user mapleFU added a comment to the discussion: We expect kvrocks to 
support MVCC

And seems that your cache is not a `cache`, is just like a `BufferPool` in 
RDBMS or `write buffer` in memory system. Writing different cache server is may 
have lots of confusing actions, for example:

```
client 1 write cache 1 with version 5
client 1 write cache 2 with version 6
--> what will happen if client 1 queries cache 1?
```

I recommend using hash or range partitions to partition the cache server, and 
using a zk-liked server to manage the partition. Although  still some problems 
like aba would happens, it will greatly decrease your problems.

Or you can write with a version, before flushing, you can check the version in 
that key or write with a lua script when flushing to kvrocks.

GitHub link: 
https://github.com/apache/incubator-kvrocks/discussions/905#discussioncomment-3706042

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to