我有一个简单的库(模块),可以通过SQLite db访问存储在(本地)文件系统上的全局字典。
它的init函数看起来像这样:
private async Task TakePhotoAsync()
{
var stream = new InMemoryRandomAccessStream();
try
{
await _mediaCapture.CapturePhotoToStreamAsync(ImageEncodingProperties.CreateJpeg(), stream);
var photoOrientation = ConvertOrientationToPhotoOrientation(GetCameraOrientation());
await ReencodeAndSavePhotoAsync(stream, photoOrientation);
}
catch (Exception ex)
{
}
}
setter看起来像这样:
def __init__(self,):
import shove
self.persistent_dict = shove.Shove('lite:///tmp/bla.sqlite')
吸气剂看起来像这样:
def store_to_cache(self,a,b):
self.persistent_dict[a] = b
self.persistent_dict.sync()
如果我在字典中写一些东西,在类的第二个shell中实例化并在其上调用getter,那么一切都很好地同步。如果我在第一个shell中更改dict的内容并再次在第二个shell中实例化dict-class,一切都很好。但是,如果我只是从现有实例中读取,尽管有同步,它将给我旧的值。
同步仅用于写入/推送本地更改,还是可以让它重新读取? (实际上我希望我可以避免重新阅读,而是想要同步 - 检查更改,理想情况下只重新阅读部分内容......)