我们看看Demo中直接用YYKVStorage储存NSNumber和NSData YYKVStorageTypeFile和YYKVStorageTypeSQLite类型所用的时间:
你可以发现在储存小型数据NSNumberYYKVStorageTypeFile类型是YYKVStorageTypeSQLite大约4倍多,而在大型数据的时候两者的表现是相反的。显然选择合适的储存方式是很有必要的。
这里需要提醒的事:
-
Demo中YYKVStorageTypeFile类型其实不仅写入了本地文件也同时写入了数据库,只不过数据库里面存的是除了value值以外的key, filename, size, inline_data(NULL), modification_time , last_access_time, extended_data字段。
和YYKVStorage不一样的是,作为更高层的YYDiskCache是一个线程安全的类。你应该使用YYDiskCache而不是YYKVStorage。