Comments (4)
KeyDB provides the same guarantees here as Redis does, namely that EXEC transactions are atomic. Single threading is not required in order to have transactions. If you find a bug where we don't uphold this guarantee that would be an extremely high priority item to fix.
Lua scripts and external modules hold a lock and prevent any other code from running concurrently so they also maintain the same guarantees as before. API changes are required in order to gain more concurrency here and if it is a big enough problem we may look at that in the future. I should be clear the goal here is full compatibility first, and multi-threading second.
I'm reticent to add a section to the ReadMe that effectively says "we're not broken" but if its a common source of confusion it may be necessary.
from keydb.
#5 is very similar to this issue, and because of that I've added extra phrasing to the Readme:
KeyDB has full compatibility with the Redis protocol, modules, and scripts. This includes full support for transactions, and atomic execution of scripts.
from keydb.
Additional architecture information added: 8a5a513
from keydb.
Please reopen if you feel this has not been addressed fully.
from keydb.
Related Issues (20)
- Silently stuck with all possible connection errors HOT 3
- Error while building on MacOS M1
- Impact of Redis licence change on KeyDB HOT 15
- Please add/create a LICENSE file HOT 3
- Fedora/EPEL (AlmaLinux, RHEL, etc.) Official Packaging HOT 1
- Container exits with 132 after starting HOT 3
- [BUG] crash on del with expiry HOT 1
- [BUG] Overlapping replication writes during full sync HOT 2
- [BUG] Missing check for serverTL in unlinkClient
- [BUG] Will not start on fresh install using docker on ARM-64 based system (debian 12) HOT 1
- [BUG] race condition on startup between file loading and replication
- Snap Inc mentioned as active contributor in new Linux Foundation backed Redis fork (Valkey) HOT 1
- [BUG] KeyDB w/ flash hang during aggressive and blocking evictions HOT 4
- [help] docker keydb-cli can only connect to the default 6379 port ? HOT 2
- [BUG] Replication incomplete when disk space is low
- Vertical scalability
- [BUG] Crash when eviction fails HOT 6
- [BUG] blpop returns same value for different clients with multimaster/activereplica
- [CRASH] Segfault starting up using flash and external module HOT 4
- [BUG] Documentation and relevant Helm charts are out of date. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keydb.