Cache Get¶
Class: CacheGetBlockV1
Source: inference.core.workflows.core_steps.cache.cache_get.v1.CacheGetBlockV1
Retrieve a previously stored value from an in-memory cache by key, using the image's video identifier as a namespace to enable data sharing between workflow steps, caching intermediate results, and avoiding redundant computations within the same workflow execution context.
How This Block Works¶
This block retrieves values from an in-memory cache that was previously stored using the Cache Set block. The block:
- Receives image and cache key:
- Takes an input image to determine the cache namespace
- Receives a cache key (string) identifying which value to retrieve
- Determines cache namespace:
- Extracts video identifier from the image's video metadata
- Uses the video identifier as the cache namespace (isolates cache entries per video/stream)
- Falls back to "default" namespace if no video identifier is present
- Looks up cached value:
- Accesses the in-memory cache dictionary for the determined namespace
- Searches for the specified key in the cache
- Returns the cached value if found, or False if the key does not exist
- Returns retrieved value:
- Outputs the cached value (can be any data type: strings, numbers, lists, detections, etc.)
- Returns False if the key was not found in the cache
- The output type matches whatever was originally stored with Cache Set
The cache is namespaced by video identifier, meaning different videos or streams have separate cache storage. This allows workflows processing multiple videos to maintain separate caches for each video. The cache is stored in memory and is cleared when the workflow execution completes or when the block is destroyed. Cache Get must be used in conjunction with Cache Set - values are stored with Cache Set and retrieved with Cache Get using the same key and namespace (determined by the same video identifier).
Common Use Cases¶
- Shared State Between Steps: Store intermediate results in one workflow step and retrieve them in another step (e.g., store detection results for later analysis, cache classification predictions for filtering, share metadata between blocks), enabling state sharing workflows
- Avoid Redundant Computations: Cache expensive computation results and reuse them across multiple workflow steps (e.g., cache model predictions, store processed images, reuse transformation results), enabling computation caching workflows
- Video Frame Context: Maintain context across video frames by storing frame-specific data (e.g., cache previous frame detections, store frame sequence metadata, maintain tracking state), enabling frame context workflows
- Conditional Workflow Logic: Store decision results or flags that control workflow execution in subsequent steps (e.g., cache filtering decisions, store validation results, maintain workflow state), enabling conditional execution workflows
- Data Aggregation: Accumulate data across workflow steps by storing values in cache and retrieving/updating them (e.g., aggregate detection counts, accumulate statistics, build result collections), enabling data aggregation workflows
- Temporary Storage: Use cache as temporary storage for values that need to be accessed by multiple workflow steps without passing through the workflow graph (e.g., store cross-step data, maintain temporary state, share non-linear workflow data), enabling temporary storage workflows
Connecting to Other Blocks¶
This block retrieves cached values and can be used throughout workflows:
- After Cache Set block to retrieve values that were previously stored (e.g., retrieve stored detections, get cached predictions, access stored metadata), enabling cache retrieval workflows
- In workflow branches to access shared cache values from parallel or conditional execution paths (e.g., retrieve shared state, access cached results, get common data), enabling branch coordination workflows
- Before blocks that need cached data to provide cached values as input (e.g., provide cached detections to analysis, use cached predictions for filtering, pass cached metadata to processing), enabling cached input workflows
- In conditional logic workflows to retrieve flags or decisions stored by Cache Set (e.g., get cached validation results, retrieve decision flags, access conditional state), enabling conditional logic workflows
- With video processing workflows to maintain frame-specific or video-specific cache namespaces (e.g., retrieve frame context, access video-specific cache, get stream-specific data), enabling video context workflows
- Before output or sink blocks to include cached data in final results (e.g., include cached aggregations, output cached statistics, return cached results), enabling output workflows
Requirements¶
This block requires an input image (used to determine the cache namespace via video identifier) and a cache key (string) to look up the stored value. The block only works in LOCAL execution mode - it will raise a NotImplementedError if used in other execution modes. Values must be previously stored using the Cache Set block with the same key and namespace (same video identifier). The cache is stored in memory and is automatically cleared when the workflow execution completes. The cache is namespaced by video identifier, so different videos have separate cache storage. If a key is not found in the cache, the block returns False. The cached value can be any data type (strings, numbers, lists, detections, images, etc.) depending on what was originally stored.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/cache_get@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | โ |
key |
str |
Cache key (string) identifying which value to retrieve from the cache. The key must match the key used when storing the value with the Cache Set block. If the key does not exist in the cache, the block returns False. Keys are case-sensitive and must be exact matches. Use descriptive keys to identify different cached values (e.g., 'detections', 'classification_result', 'frame_metadata').. | โ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Runtime compatibility¶
-
hardโ executionremote - Cache blocks only support LOCAL workflow step execution; remote step execution raises NotImplementedError.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Cache Get in version v1.
- inputs:
PLC Writer,Roboflow Dataset Upload,OpenAI,Anthropic Claude,Google Gemini,Roboflow Visual Search Classifier,Event Writer,Stitch OCR Detections,Qwen3.5-VL,CogVLM,Email Notification,Webhook Sink,Current Time,VLM As Classifier,Slack Notification,Multi-Label Classification Model,MoonshotAI Kimi,OpenRouter,Stitch OCR Detections,OCR Model,S3 Sink,Email Notification,Roboflow Asset Library Attributes,OPC UA Writer Sink,CSV Formatter,LMM,Qwen-VL,GLM-OCR,Google Gemini,Florence-2 Model,EasyOCR,Google Gemini,Roboflow Custom Metadata,LMM For Classification,Roboflow Dataset Upload,Qwen 3.5 API,MoonshotAI Kimi,PP-OCR,Local File Sink,Llama 3.2 Vision,Llama 3.2 Vision,Google Gemini,Google Vision OCR,Google Gemma API,Model Monitoring Inference Aggregator,Google Gemma,Roboflow Vision Events,Twilio SMS Notification,Cosmos 3,Microsoft SQL Server Sink,MQTT Writer,Anthropic Claude,Twilio SMS/MMS Notification,OpenAI,Clip Comparison,OpenAI,Anthropic Claude,Keypoint Detection Model,Object Detection Model,Qwen 3.6 API,Florence-2 Model,Instance Segmentation Model,Single-Label Classification Model,OpenAI,OpenAI-Compatible LLM,Roboflow Visual Search,VLM As Detector - outputs:
PLC Writer,Track Class Lock,Image Blur,Byte Tracker,Mask Edge Snap,Path Deviation,Crop Visualization,VLM As Detector,Polygon Visualization,Object Detection Model,Roboflow Visual Search Classifier,Detections Stabilizer,Image Slicer,Qwen3.5-VL,Image Convert Grayscale,CLIP Embedding Model,Webhook Sink,Semantic Segmentation Model,VLM As Classifier,Motion Detection,SAM 3 Interactive,Keypoint Detection Model,Clip Comparison,YOLO-World Model,Buffer,SIFT,OC-SORT Tracker,Slack Notification,Label Visualization,MoonshotAI Kimi,PLC Reader,Stitch OCR Detections,Label Visualization,Instance Segmentation Model,S3 Sink,Perception Encoder Embedding Model,Keypoint Detection Model,Email Notification,Velocity,BoT-SORT Tracker,Detection Event Log,Overlap Analysis,Pixel Color Count,Single-Label Classification Model,OPC UA Writer Sink,Ellipse Visualization,Path Deviation,Stitch Images,Background Subtraction,Corner Visualization,CSV Formatter,Triangle Visualization,Qwen-VL,Detection Offset,JSON Parser,Distance Measurement,Property Definition,Bounding Rectangle,Camera Calibration,Google Gemini,Seg Preview,Polygon Zone Visualization,Roboflow Custom Metadata,LMM For Classification,Delta Filter,Camera Focus,PP-OCR,Trace Visualization,SIFT Comparison,Object Detection Model,Color Visualization,Inner Workflow,Local File Sink,Llama 3.2 Vision,SAM3 Video Tracker,Llama 3.2 Vision,Morphological Transformation,Dominant Color,Dynamic Zone,Continue If,SAM2 Video Tracker,Google Vision OCR,Google Gemma API,Detections Filter,Google Gemma,First Non Empty Or Default,Microsoft SQL Server Sink,Polygon Visualization,Icon Visualization,PLC ModbusTCP,Detections Transformation,Rich Label Visualization,Qwen2.5-VL,Twilio SMS/MMS Notification,Keypoint Visualization,Identify Changes,OpenAI,Image Slicer,Object Detection Model,Keypoint Detection Model,Clip Comparison,OpenAI,Qwen 3.6 API,Instance Segmentation Model,Single-Label Classification Model,Mask Visualization,Moondream2,Nearest Neighbor Detection Match,OpenAI,Byte Tracker,OpenAI-Compatible LLM,Instance Segmentation Model,Roboflow Visual Search,Expression,VLM As Detector,Stability AI Outpainting,Blur Visualization,Multi-Label Classification Model,Frame Delay,Bounding Box Visualization,Absolute Static Crop,Roboflow Dataset Upload,OpenAI,Anthropic Claude,Reference Path Visualization,Google Gemini,Switch Case,Detections Stitch,Event Writer,Cache Set,Stitch OCR Detections,CogVLM,Time in Zone,VLM As Classifier,Email Notification,Barcode Detection,Contrast Enhancement,Current Time,Template Matching,QR Code Detection,Mask Area Measurement,Perspective Correction,Cosine Similarity,Detections List Roll-Up,Halo Visualization,Semantic Segmentation Model,Overlap Filter,Dimension Collapse,Multi-Label Classification Model,Cache Get,Dynamic Crop,OpenRouter,Detections Consensus,PLC EthernetIP,OCR Model,GeoTag Detection,Per-Class Confidence Filter,Halo Visualization,Line Counter Visualization,Time in Zone,Time in Zone,Roboflow Asset Library Attributes,Multi-Label Classification Model,Size Measurement,LMM,Relative Static Crop,Detections Combine,SIFT Comparison,SAM 3,ByteTrack Tracker,Dot Visualization,Depth Estimation,GLM-OCR,EasyOCR,Florence-2 Model,Rate Limiter,Background Color Visualization,Qwen3.5,Google Gemini,Image Contours,Roboflow Dataset Upload,Data Aggregator,Qwen 3.5 API,Segment Anything 2 Model,MoonshotAI Kimi,Stability AI Inpainting,Contrast Equalization,Morphological Transformation,Image Threshold,SAM 3,Camera Focus,Line Counter,Stability AI Image Generation,Instance Segmentation Model,Circle Visualization,QR Code Generator,Detections Merge,Google Gemini,Detections Classes Replacement,Model Monitoring Inference Aggregator,Roboflow Vision Events,Single-Label Classification Model,Twilio SMS Notification,Heatmap Visualization,Cosmos 3,Auto Rotate on Edges,MQTT Writer,SAM 3,Anthropic Claude,SORT Tracker,Image Preprocessing,Qwen3-VL,Gaze Detection,Line Counter,Anthropic Claude,Text Display,Image Stack,PTZ Tracking (ONVIF),Identify Outliers,Grid Visualization,Model Comparison Visualization,Florence-2 Model,Classification Label Visualization,Byte Tracker,SmolVLM2,Pixelate Visualization
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Cache Get in version v1 has.
Bindings
-
input
image(image): Input image used to determine the cache namespace. The block extracts the video identifier from the image's video metadata and uses it as the cache namespace. If no video identifier is present, the block uses 'default' as the namespace. The namespace isolates cache entries so different videos or streams have separate cache storage. Use the same image (with the same video identifier) for both Cache Set and Cache Get blocks to access the same cache namespace..key(string): Cache key (string) identifying which value to retrieve from the cache. The key must match the key used when storing the value with the Cache Set block. If the key does not exist in the cache, the block returns False. Keys are case-sensitive and must be exact matches. Use descriptive keys to identify different cached values (e.g., 'detections', 'classification_result', 'frame_metadata')..
-
output
output(*): Equivalent of any element.
Example JSON definition of step Cache Get in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/cache_get@v1",
"image": "$inputs.image",
"key": "my_cache_key"
}