class_docstr: Stores/loads nodes `fitted_operation` field to increase performance of calculations.
  
  :param cache_dir: path to the place where cache files should be stored.
class_docstr_tok: ["Stores\/loads","nodes","`","fitted_operation","`","field","to","increase","performance","of","calculations",".",":","param","cache_dir",":","path","to","the","place","where","cache","files","should","be","stored","."]
docstr: :param pipeline: pipeline to be cached
  :param fold_id: optional part of cache item UID
                      (can be used to specify the number of CV fold)
docstr_tok: [":","param","pipeline",":","pipeline","to","be","cached",":","param","fold_id",":","optional","part","of","cache","item","UID","(","can","be","used","to","specify","the","number","of","CV","fold",")"]
code: def save_pipeline(
      self, pipeline: "Pipeline", fold_id: Optional[int] = None
  ):
      """
      :param pipeline: pipeline to be cached
      :param fold_id: optional part of cache item UID
                          (can be used to specify the number of CV fold)
      """
      self.save_nodes(pipeline.nodes, fold_id)
  
file_path: FEDOT/fedot/core/caching/pipelines_cache.py
imports: import sqlite3
  from typing import List, Optional, TYPE_CHECKING, Union
  from golem.utilities.data_structures import ensure_wrapped_in_sequence
  from fedot.core.caching.base_cache import BaseCache
  from fedot.core.caching.pipelines_cache_db import OperationsCacheDB
  from fedot.core.pipelines.node import PipelineNode
label_desc: Use image node_id 3 for calling the OperationsCache obj's underlying member method code with example usage: obj.save_pipeline(pipeline, fold_id) without return types