get method
获取缓存数据(从磁盘读取)
Implementation
V? get(String key) {
if (!_keysIndex.contains(key)) return null;
final json = CacheServiceCore.getMap(_itemKey(key));
if (json == null) {
// 索引存在但数据不存在,清理索引
_keysIndex.remove(key);
_saveIndex();
return null;
}
try {
final entry = _parseFromDisk(json);
if (entry == null) {
// 数据已过期
_removeFromDisk(key);
return null;
}
// 更新访问顺序(LRU)
_updateAccessOrder(key);
return entry.value;
} catch (e) {
// 反序列化失败
_removeFromDisk(key);
return null;
}
}