Interactive
Tag Playground
Click an invalidation scenario below and watch which queries get refreshed. Tags use hierarchical matching — invalidating a parent affects all children.
Tag Tree
defineTags() structure
🌳appTags
📂todos
🏷️.list()
["todos"]🏷️.summary()
["todos", "summary"]🏷️.byId("1")
["todo", "1"]📂notes
🏷️.list()
["notes"]Active Queries
Queries in the cache
Todo List
appTags.todos.list()
["todos"]
Todo Count
appTags.todos.summary()
["todos", "summary"]
Todo #1 Detail
appTags.todos.byId("1")
["todo", "1"]
Notes List
appTags.notes.list()
["notes"]
Dashboard
todos.list(), notes.list()
["todos"]["notes"]
Invalidation Scenarios
Click a button to simulate server-side tag invalidation
Group tags like
appTags.todos() invalidate all children in the subtree. Leaf tags like appTags.todos.list() only match queries with that exact tag. A query matches if any of its tags starts with the invalidated tag segments.