Cache Set¶
Class: CacheSetBlockV1
Source: inference.core.workflows.core_steps.cache.cache_set.v1.CacheSetBlockV1
Store a value in 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 stores values in an in-memory cache that can be later retrieved using the Cache Get block. The block:
- Receives image, cache key, and value to store:
- Takes an input image to determine the cache namespace
- Receives a cache key (string) identifying the cache entry
- Receives a value (any data type) to store in the cache
- 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
- Stores value in cache:
- Accesses the in-memory cache dictionary for the determined namespace
- Stores the value using the specified key in the cache
- Overwrites any existing value with the same key (cache keys are unique within a namespace)
- Returns stored value:
- Outputs the stored value as a pass-through (same value that was stored)
- The output can be used by subsequent workflow steps
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 Set must be used in conjunction with Cache Get - 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 for retrieval in another step (e.g., store detection results for later analysis, cache classification predictions for filtering, save metadata for subsequent blocks), enabling state sharing workflows
- Avoid Redundant Computations: Cache expensive computation results for reuse across multiple workflow steps (e.g., cache model predictions, store processed images, save 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, save 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, save workflow state), enabling conditional execution workflows
- Data Aggregation: Accumulate data across workflow steps by storing values in cache (e.g., store detection counts, cache statistics, save 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 stores values in cache and passes through the stored value:
- Before Cache Get block to store values that will be retrieved later (e.g., store detections for retrieval, cache predictions for later use, save metadata for access), enabling cache storage workflows
- After model or processing blocks to cache their outputs for later use (e.g., cache model predictions, store processed results, save computation outputs), enabling result caching workflows
- In workflow branches to store shared values accessible from parallel or conditional execution paths (e.g., store shared state, cache common results, save branch data), enabling branch coordination workflows
- Before blocks that need cached data to store values that will be used by subsequent blocks (e.g., store inputs for later processing, cache data for filtering, save values for analysis), enabling cached data workflows
- In conditional logic workflows to store flags or decisions for later use (e.g., store validation results, cache decision flags, save conditional state), enabling conditional logic workflows
- With video processing workflows to maintain frame-specific or video-specific cache namespaces (e.g., store frame context, cache video-specific data, save stream-specific values), enabling video context workflows
Requirements¶
This block requires an input image (used to determine the cache namespace via video identifier), a cache key (string) to identify the cache entry, and a value (any data type) to store. The block only works in LOCAL execution mode - it will raise a NotImplementedError if used in other execution modes. Values stored in the cache can be retrieved later using the Cache Get 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 already exists in the cache, storing a new value with the same key will overwrite the previous value. The stored value can be any data type (strings, numbers, lists, detections, images, etc.).
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/cache_set@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 the cache entry where the value will be stored. The key must be used with the same value when retrieving the value with the Cache Get block. Keys are case-sensitive and must be exact matches. If a key already exists in the cache, storing a new value will overwrite the previous value. 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 Set in version v1.
- inputs:
Cache Set,MoonshotAI Kimi,Path Deviation,Image Blur,SmolVLM2,Overlap Filter,Reference Path Visualization,PTZ Tracking (ONVIF),Event Writer,SAM2 Video Tracker,Clip Comparison,Object Detection Model,Email Notification,Pixelate Visualization,Qwen3-VL,JSON Parser,Anthropic Claude,Cache Get,OpenAI,Trace Visualization,Llama 3.2 Vision,Detection Event Log,ByteTrack Tracker,GLM-OCR,Camera Focus,PLC ModbusTCP,Buffer,QR Code Detection,CSV Formatter,Webhook Sink,SIFT Comparison,Image Contours,Local File Sink,Motion Detection,Google Gemini,Dimension Collapse,First Non Empty Or Default,Template Matching,Keypoint Visualization,Instance Segmentation Model,Icon Visualization,Seg Preview,Detections Transformation,Polygon Zone Visualization,Stability AI Outpainting,BoT-SORT Tracker,Byte Tracker,Halo Visualization,Expression,Distance Measurement,Morphological Transformation,VLM As Detector,Detections Consensus,Ellipse Visualization,Time in Zone,SAM 3,Size Measurement,Twilio SMS Notification,Email Notification,S3 Sink,Environment Secrets Store,Single-Label Classification Model,SAM 3,LMM For Classification,Dominant Color,Mask Area Measurement,Switch Case,OpenAI,Stitch Images,Identify Outliers,Time in Zone,Current Time,Stitch OCR Detections,Detections List Roll-Up,Pixel Color Count,Model Monitoring Inference Aggregator,Google Vision OCR,Image Threshold,Byte Tracker,Instance Segmentation Model,LMM,Polygon Visualization,Stability AI Image Generation,Line Counter Visualization,CogVLM,Relative Static Crop,Grid Visualization,Property Definition,Stitch OCR Detections,Gaze Detection,OPC UA Writer Sink,Color Visualization,Roboflow Dataset Upload,Contrast Enhancement,Absolute Static Crop,OC-SORT Tracker,OpenAI,Perspective Correction,Twilio SMS/MMS Notification,Roboflow Vision Events,Microsoft SQL Server Sink,Cosine Similarity,Perception Encoder Embedding Model,Instance Segmentation Model,Roboflow Custom Metadata,Camera Calibration,Keypoint Detection Model,Line Counter,Roboflow Asset Library Attributes,SIFT Comparison,Slack Notification,VLM As Classifier,Halo Visualization,CLIP Embedding Model,Image Stack,Google Gemma,Qwen 3.6 API,Bounding Rectangle,Dot Visualization,Label Visualization,Background Color Visualization,Llama 3.2 Vision,SAM 3 Interactive,Rate Limiter,Velocity,OpenAI-Compatible LLM,Google Gemini,Track Class Lock,Clip Comparison,OpenAI,Qwen3.5,MQTT Writer,MoonshotAI Kimi,Polygon Visualization,SIFT,Classification Label Visualization,Multi-Label Classification Model,Instance Segmentation Model,Keypoint Detection Model,Dynamic Crop,Stability AI Inpainting,Bounding Box Visualization,Multi-Label Classification Model,Crop Visualization,Continue If,Image Convert Grayscale,Mask Visualization,Delta Filter,Detections Stitch,Detection Offset,SORT Tracker,Barcode Detection,PLC EthernetIP,Anthropic Claude,Text Display,VLM As Classifier,Inner Workflow,Overlap Analysis,Roboflow Dataset Upload,Object Detection Model,Detections Filter,Detections Merge,Keypoint Detection Model,SAM3 Video Tracker,Circle Visualization,Semantic Segmentation Model,Path Deviation,Camera Focus,Identify Changes,Byte Tracker,Image Slicer,OCR Model,Heatmap Visualization,Google Gemma API,Morphological Transformation,EasyOCR,Single-Label Classification Model,YOLO-World Model,Blur Visualization,Moondream2,Florence-2 Model,Google Gemini,Corner Visualization,OpenRouter,Detections Stabilizer,Model Comparison Visualization,SAM 3,Single-Label Classification Model,Segment Anything 2 Model,Time in Zone,Mask Edge Snap,Line Counter,Qwen3.5-VL,Per-Class Confidence Filter,Image Preprocessing,Anthropic Claude,Dynamic Zone,Detections Combine,Triangle Visualization,Data Aggregator,QR Code Generator,Qwen 3.5 API,Background Subtraction,Multi-Label Classification Model,Image Slicer,Semantic Segmentation Model,Qwen-VL,Florence-2 Model,Depth Estimation,Contrast Equalization,Detections Classes Replacement,VLM As Detector,Qwen2.5-VL,Object Detection Model - outputs:
Cache Set,MoonshotAI Kimi,Roboflow Asset Library Attributes,Path Deviation,Image Blur,SmolVLM2,Keypoint Detection Model,Overlap Filter,PTZ Tracking (ONVIF),SIFT Comparison,Reference Path Visualization,Event Writer,Slack Notification,SAM2 Video Tracker,Halo Visualization,VLM As Classifier,Image Stack,CLIP Embedding Model,Clip Comparison,Qwen 3.6 API,Google Gemma,Object Detection Model,Dot Visualization,Bounding Rectangle,Label Visualization,Background Color Visualization,Llama 3.2 Vision,Email Notification,SAM 3 Interactive,Rate Limiter,Velocity,Pixelate Visualization,OpenAI-Compatible LLM,Qwen3-VL,Google Gemini,JSON Parser,Anthropic Claude,Track Class Lock,Cache Get,OpenAI,Trace Visualization,Llama 3.2 Vision,Detection Event Log,ByteTrack Tracker,OpenAI,Camera Focus,Clip Comparison,Qwen3.5,GLM-OCR,PLC ModbusTCP,Buffer,MQTT Writer,Webhook Sink,SIFT Comparison,CSV Formatter,QR Code Detection,Image Contours,Motion Detection,Local File Sink,Google Gemini,MoonshotAI Kimi,Polygon Visualization,Dimension Collapse,SIFT,Classification Label Visualization,Multi-Label Classification Model,First Non Empty Or Default,Instance Segmentation Model,Keypoint Detection Model,Keypoint Visualization,Template Matching,Instance Segmentation Model,Icon Visualization,Seg Preview,Dynamic Crop,Stability AI Inpainting,BoT-SORT Tracker,Bounding Box Visualization,Stability AI Outpainting,Multi-Label Classification Model,Crop Visualization,Detections Transformation,Polygon Zone Visualization,Continue If,Image Convert Grayscale,Byte Tracker,Mask Visualization,Halo Visualization,Delta Filter,Detections Stitch,Distance Measurement,Detection Offset,SORT Tracker,Barcode Detection,PLC EthernetIP,Expression,Anthropic Claude,Morphological Transformation,Text Display,VLM As Classifier,Inner Workflow,Overlap Analysis,Roboflow Dataset Upload,VLM As Detector,Detections Consensus,Object Detection Model,Detections Filter,Ellipse Visualization,Detections Merge,Keypoint Detection Model,SAM3 Video Tracker,Time in Zone,SAM 3,Size Measurement,Circle Visualization,Semantic Segmentation Model,Path Deviation,Twilio SMS Notification,Email Notification,S3 Sink,Camera Focus,Identify Changes,Byte Tracker,Single-Label Classification Model,SAM 3,Image Slicer,LMM For Classification,Dominant Color,OCR Model,Mask Area Measurement,Heatmap Visualization,Switch Case,Google Gemma API,OpenAI,Stitch Images,Identify Outliers,Time in Zone,Morphological Transformation,EasyOCR,Single-Label Classification Model,YOLO-World Model,Current Time,Blur Visualization,Stitch OCR Detections,Moondream2,Detections List Roll-Up,Florence-2 Model,Google Gemini,Corner Visualization,OpenRouter,Detections Stabilizer,Pixel Color Count,Model Comparison Visualization,SAM 3,Model Monitoring Inference Aggregator,Google Vision OCR,Image Threshold,Byte Tracker,Instance Segmentation Model,Single-Label Classification Model,LMM,Polygon Visualization,Segment Anything 2 Model,Time in Zone,Mask Edge Snap,Line Counter Visualization,Line Counter,CogVLM,Stability AI Image Generation,Relative Static Crop,Qwen3.5-VL,Per-Class Confidence Filter,Grid Visualization,Image Preprocessing,Property Definition,Stitch OCR Detections,Gaze Detection,Anthropic Claude,OPC UA Writer Sink,Color Visualization,Dynamic Zone,Detections Combine,Triangle Visualization,Data Aggregator,QR Code Generator,Qwen 3.5 API,Roboflow Dataset Upload,Absolute Static Crop,Contrast Enhancement,Background Subtraction,Multi-Label Classification Model,OC-SORT Tracker,OpenAI,Image Slicer,Semantic Segmentation Model,Qwen-VL,Florence-2 Model,Perspective Correction,Roboflow Vision Events,Twilio SMS/MMS Notification,Microsoft SQL Server Sink,Cosine Similarity,Perception Encoder Embedding Model,Instance Segmentation Model,Depth Estimation,Roboflow Custom Metadata,Contrast Equalization,Camera Calibration,Detections Classes Replacement,VLM As Detector,Qwen2.5-VL,Line Counter,Object Detection Model
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Cache Set 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 the cache entry where the value will be stored. The key must be used with the same value when retrieving the value with the Cache Get block. Keys are case-sensitive and must be exact matches. If a key already exists in the cache, storing a new value will overwrite the previous value. Use descriptive keys to identify different cached values (e.g., 'detections', 'classification_result', 'frame_metadata')..value(Union[list_of_values,*]): Value to store in the cache. Can be any data type including strings, numbers, lists, detections, images, classifications, or any other workflow data type. The value is stored in memory and can be retrieved later using the Cache Get block with the same key and namespace. The value is also passed through as the block's output, allowing it to be used by subsequent workflow steps..
-
output
output(*): Equivalent of any element.
Example JSON definition of step Cache Set in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/cache_set@v1",
"image": "$inputs.image",
"key": "my_cache_key",
"value": "any_value"
}