id stay consistent across tabs, workers, and custom transports.
Built-in buses
EverycreateStorage() instance composes three buses:
- Registry channel: in-process sync between instances sharing
id - BroadcastChannel: cross-tab sync in browsers (
@brushy/storage:{id}) - Custom bus: optional
options.bus
CacheBus interface
Custom server ↔ client bus
Use WebSockets, SSE, or message queues to invalidate keys after mutations on the server:Composing buses
Event handling
Events include
source so the originating instance ignores its own broadcasts.