A method for caching a data block, performed by a computer device, the method comprising: obtaining, from a terminal, an access request for requesting access to a first data block ; detecting whether a second data block satisfies a lazy condition in a case that the first data block is missed in a cache space of a storage system, the second data block being a candidate elimination block in the cache space, and the lazy condition being a condition for determining, whether to delay replacing the second data block from the cache space according to a re-access probability ; and accessing the first data block from a storage space of the storage system and skipping replacing the second data block from the cache space in a case that the second data block satisfies the lazy condition ; wherein the storage system stores a data block identifier list (BIL), the data BIL storing block metadata of n historically accessed data blocks, where n is a positive integer; and wherein the detecting whether the second data block satisfies the lazy condition comprises: detecting whether the second data block satisfies a first lazy condition in a case that the first data block is not present in the data BIL ; and detecting whether the second data block satisfies a second lazy condition in a case that the first data block is present in the data BIL ; and wherein a re-access probability indicated by the first lazy condition is less than a re-access probability indicated by the second lazy condition; wherein the first lazy condition comprises a flag value of the second data block that is greater than a first threshold, the flag value being a variable used for measuring an access importance of the second data block; and wherein the second lazy condition comprises the flag value of the second data block that is greater than a second threshold, and a dwell time of the second data block in the cache space, the dwell time being greater than K times of a block average reuse distance, where K > 0. obtaining, from a terminal, an access request for requesting access to a first data block ; detecting whether a second data block satisfies a lazy condition in a case that the first data block is missed in a cache space of a storage system, the second data block being a candidate elimination block in the cache space, and the lazy condition being a condition for determining, whether to delay replacing the second data block from the cache space according to a re-access probability ; and accessing the first data block from a storage space of the storage system and skipping replacing the second data block from the cache space in a case that the second data block satisfies the lazy condition ; wherein the storage system stores a data block identifier list (BIL), the data BIL storing block metadata of n historically accessed data blocks, where n is a positive integer; and wherein the detecting whether the second data block satisfies the lazy condition comprises: detecting whether the second data block satisfies a first lazy condition in a case that the first data block is not present in the data BIL ; and detecting whether the second data block satisfies a second lazy condition in a case that the first data block is present in the data BIL ; and wherein a re-access probability indicated by the first lazy condition is less than a re-access probability indicated by the second lazy condition; wherein the first lazy condition comprises a flag value of the second data block that is greater than a first threshold, the flag value being a variable used for measuring an access importance of the second data block; and wherein the second lazy condition comprises the flag value of the second data block that is greater than a second threshold, and a dwell time of the second data block in the cache space, the dwell time being greater than K times of a block average reuse distance, where K > 0. <EOS>