-
Notifications
You must be signed in to change notification settings - Fork 471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracking Issue: Towards a more redis-compatible database #1942
Comments
Test suite in other client impl can help. We writes C++ unit tests and Golang cases with redis-go. IIRC redis-go runs regression tests for Kvrocks also. I tried Redisson but still have some troubles - #1912 Perhaps also other clients in https://redis.io/resources/clients/ |
We can add support for |
@jihuayu done |
One command which would be amazing to have would be: |
Yeah client-side caching is in our roadmap. cc @git-hulk |
Yes, one obstacle we need to overcome is knowing if a key has expired. |
For me I think we can move the responsibility of expiration detection from the server to clients. i.e. clients should store the key-value cache as well as the TTL. |
For Redis client-side caching, it will send an invalid message notification once it's expired or evicted due to the memory policy. I'm not sure whether most SDKs will add a default TTL for keys or not. If yes, it should be fine. Or it should be a problem since the expiration needs to depend on the compaction timing. |
It's hard for kvrocks to send notifications on expiration, but for any other writing we can notify, of course. We need to state this point to client implementations to let them store the TTL. It's also recommended in the Redis documentation for client implementation hints:
|
Yes, that makes sense. I will go through the Redis server and its SDK implementation for client-side caching when I get time. And then propose a discussion or design. |
In order to be more compatible with redis, here are commands that exist in Redis (excluding Redis Stack) but are not supported in Kvrocks:
We very much welcome anyone to claim the tasks and start to contribute to Kvrocks. If you need any help during the contribution process, you can leave a message under the corresponding issue.
Also, the parts of existing commands that are incompatible with redis are worthy of attention and welcome any contribution.
It succeed #595.
The text was updated successfully, but these errors were encountered: