1. A persistent caching system, the system comprising: a client, wherein the client (a) includes a processor and a computer readable storage medium and (b) is configured to: i) access at least a portion of a data through a network, and ii) access at least a portion of virtual memory blocks through RDMA using one or more exported addresses; and a caching server of a storage system, wherein the caching server (a) includes a processor, a computer readable storage medium, and the data, and (b) is configured to: i) store the data in a number of virtual memory blocks, each of the virtual memory blocks referring to an associated memory-mapped file in a file system of the caching server, ii) export addresses of the virtual memory blocks to the client, and iii) page one or more virtual memory blocks being accessed by the client through RDMA to and/or from memory-mapped files associated with the accessed virtual memory blocks, wherein, after receiving an RDMA read request from the client at a network card of the caching server, the network card is configured to: i) issue a DMA operation to the network card, the DMA operation includes instructions to copy the virtual memory block that was indicated by the RDMA read request, and ii) to transmit the copied virtual memory block to the client that submitted the RDMA read request.