github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/istructsmem/internal/plogcache/README.md (about) 1 # `plogcache` from `istructsmem` internal package 2 3 [](https://codecov.io/gh/voedger/voedger/istructsmem/internal/plogcache) 4 5 PLog events cache. 6 7 ## Motivation 8 9 [performance: istructsmem: PLog Events cache](https://github.com/voedger/voedger/issues/455) 10 11 ## Design 12 13 ```mermaid 14 flowchart 15 16 processors:::Group 17 subgraph processors [commandprocessor package] 18 cp>command processors] 19 end 20 21 projectors:::Group 22 subgraph projectors [projectors package] 23 actualizers>async actualizers] 24 end 25 26 istructsmem:::Group 27 subgraph istructsmem [istructsmem package] 28 IEvents[istructs.IEvents implementation] 29 eventsCache[(plog events cache)]:::NEW 30 IEvents -.- eventsCache 31 end 32 33 istorage:::Group 34 subgraph istorage [istorage package] 35 storageCache[(cache)]:::Green 36 storage[(storage)]:::Green 37 storageCache -.- storage 38 end 39 40 processors -->|write events| istructsmem 41 istructsmem -->|read events| projectors 42 istructsmem <--->|"read/write (key,value)"| istorage 43 44 45 classDef NEW fill:#FFE0E0,stroke:#800000, stroke-width:2px, stroke-dasharray: 5 5 46 classDef Green fill:#E0FFF0,stroke:#008040 47 classDef Group fill:#FFFFFF, stroke:#808080, stroke-width:2px, stroke-dasharray: 5 5 48 ```