Eventuous / eventuous

Event Sourcing library for .NET
https://eventuous.dev
Apache License 2.0
458 stars 73 forks source link

Redis store #189

Closed claudiuchis closed 1 year ago

claudiuchis commented 1 year ago

Hi Alexey,

I created a version of the Redis event store that is using a Redis function to add events to streams and to the _all stream in a single transaction. As per Redis documentation (https://redis.io/docs/manual/programmability/functions-intro/#what-are-redis-functions):

"Like all other operations in Redis, the execution of a function is atomic. A function's execution blocks all server activities during its entire time, similarly to the semantics of transactions."

I've created just the event store and corresponding tests, but if you think this is worth adding to the main repo, then I can add the additional parts, e.g. subscriptions and producers.

CLAassistant commented 1 year ago

CLA assistant check
All committers have signed the CLA.

alexeyzimarev commented 1 year ago

Would be nice to have a test that appends and then reads the event. Seems like reads aren't covered in tests. For some reason I had an impression that your fork had tests for reads?