def METHOD_NAME(obj: VideoMixin, data: VideoData, exists: bool = True) -> None:
    cache_key = video_cache_key(obj)
    copied_data = data.copy()
    if copied_data['uploaded_at']:
        copied_data['uploaded_at'] = cast(
            datetime, copied_data['uploaded_at']
        ).isoformat()
    redis_store.hmset(cache_key, copied_data)
    # if video exists at source, cache for 2 days, if not, for 6 hours
    hours_to_cache = 2 * 24 if exists else 6
    redis_store.expire(cache_key, 60 * 60 * hours_to_cache)