1. A method for use in managing snapshot in cache-based storage systems, the method comprising: receiving a request to create a snapshot of a data object, wherein a portion of the data object is cached in a global cache, wherein the data object is associated with a mapping object, wherein the mapping object manages access to the portion of the data object, wherein the data object is a file, wherein the file is associated with an inode stored on a persistent storage, and a file fork object stored in a memory of a cache-based storage system, wherein a file fork object of a file includes a set of buffer mapped objects, wherein each buffer mapped object of the set of buffer mapped objects includes a set of global data block cache mappings and a distributed weight for each global data block cache mapping, wherein each global data block cache mapping of the set of global data block cache mappings is associated with a global data block cache descriptor entry referring to a buffer cache object storing a data block of the file in the global cache; and creating a snapshot of the data object, wherein a snapshot mapping object is associated with the snapshot of the data object, wherein the snapshot mapping object includes a link to the mapping object, wherein the snapshot mapping object is a version of the mapping object and shares the portion of the data object cached in the global cache.