vvvv / VL.StandardLibs

A collection of standard libraries for vvvv including VL.Stride, VL.Skia, VL.ImGui, msgpack.org[VL]
https://visualprogramming.net
GNU Lesser General Public License v3.0
35 stars 14 forks source link

Feature/redis module client side caching #662

Closed kopffarben closed 7 months ago

kopffarben commented 8 months ago

PR Details

Exeption Handeling and ClientSideCaching

Description

[RedisModuleClientSideCaching] Update to StackExchange.Redis 2.7.4 https://stackexchange.github.io/StackExchange.Redis/ReleaseNotes#274 Enables the complete conversion to ClientSideCaching This is how we get rid of the Custom IsChanged implementation.

All critical methods in the RedisCommandQueue and SubscriberExtension implement the NodeContext and IVLRuntime.Current, so that PersistentMessage can also be promoted to VL from Observables that run concurrently.

Add HelpPatch for "HowTo External Write to Global Channel.vl"

TODO: Implement SerializerEnum(MsgPack, JSon, None) in RedisClient/RedisModule, in Binding "Default, MsgPack, JSon, None" and in Publish and Subscribe. This will be done when VL.MessagePack is ready.

Types of changes

azeno commented 7 months ago

Thanks! Will have a look at it today. In the meantime: Redis has two modes for caching, what was the reasoning for choosing the second one (broadcasting)? Can we peek into your thought process here a little bit?

Then we were also wondering how the caching modes play together with the transactional reading of the keys. If we only read those for which we got an invalidation message then we might run into inconsistent states, no?

azeno commented 7 months ago

Using the Reference Global Channel help patch, changing the Init mode of "MyInteger" to None or Local does not behave like expected:

First frame: image

Fourth frame: image

Shouldn't it stick to zero? Is this a misconception on my part?

Here seems to be a typo: image There should be a Z instead of S

azeno commented 7 months ago

I'll merge this PR now and create separate issues for the things I mentioned here.