A data storage method performed by a mobile terminal that uses, as an underlying storage medium, a key-value, non-relational database that stores data based on a key value, and saves, in a cache, correspondence relationships between a plurality of pieces of metadata and corresponding key values of the data stored in the non-relational database for the key value; wherein the method comprises: converting first original data to first data having a preset format, wherein original data is data required by one of various applications and is to be cached locally, wherein the preset format eliminates structural differences of original data required by different of the various applications, wherein the first data has a first key value; creating first metadata of the first data; determining, according to the correspondence relationships, whether the first data is stored in the non-relational database including determining that the first data is stored in the non-relational database if the correspondence relationships include a relationship between (i) the first key value and (ii) second metadata that is the same as the first metadata, and otherwise determining that the first data is not stored in the non-relational database; saving into the cache if the first data is not stored in the non-relational database, the first data, the first metadata of the first data, and the first key value of the first data and otherwise performing no update of the cache and deleting the original data, the first data, and the first metadata; and storing, into the non-relational database if a preset triggering condition is satisfied, the first data, the first metadata of the first data, and the key value of the first data in the cache, which have not yet been stored in the non-relational database. uses, as an underlying storage medium, a key-value, non-relational database that stores data based on a key value, and saves, in a cache, correspondence relationships between a plurality of pieces of metadata and corresponding key values of the data stored in the non-relational database for the key value; converting first original data to first data having a preset format, wherein original data is data required by one of various applications and is to be cached locally, wherein the preset format eliminates structural differences of original data required by different of the various applications, wherein the first data has a first key value; creating first metadata of the first data; determining, according to the correspondence relationships, whether the first data is stored in the non-relational database including determining that the first data is stored in the non-relational database if the correspondence relationships include a relationship between (i) the first key value and (ii) second metadata that is the same as the first metadata, and otherwise determining that the first data is not stored in the non-relational database; saving into the cache if the first data is not stored in the non-relational database, the first data, the first metadata of the first data, and the first key value of the first data and otherwise performing no update of the cache and deleting the original data, the first data, and the first metadata; and storing, into the non-relational database if a preset triggering condition is satisfied, the first data, the first metadata of the first data, and the key value of the first data in the cache, which have not yet been stored in the non-relational database.