第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么 shelve.sync 不能按預(yù)期工作?

為什么 shelve.sync 不能按預(yù)期工作?

人到中年有點(diǎn)甜 2022-10-11 21:40:02
為什么不shelve同步world以下示例中的第二個(gè)鍵 ( )?我sync兩次調(diào)用該方法來(lái)更新數(shù)據(jù) - 但它沒(méi)有這樣做 - 也沒(méi)有引發(fā)異常。這是預(yù)期的行為嗎?一般來(lái)說(shuō),我可以依靠同步總是發(fā)生嗎?我正在評(píng)估shelve通過(guò)保存我的應(yīng)用程序的狀態(tài)(一個(gè)深度嵌套的對(duì)象)來(lái)減少我的“內(nèi)存中”應(yīng)用程序的加載時(shí)間的一個(gè)選項(xiàng)。另外,有誰(shuí)知道時(shí)間復(fù)雜度是shelve.sync多少?深度嵌套的對(duì)象發(fā)生的變化O(delta)在哪里?detlaimport shelveexample = {}d = shelve.open("shelve.db", writeback=True)d["example"] = exampleexample["hello"] = "hello"d.sync()example["world"] = "world"d.sync()d.close()d = shelve.open("shelve.db", writeback=True)print(d["example"]["hello"])print(d["example"]["world"])
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

架子有一個(gè)writeback=True緩存,用于存儲(chǔ)從緩存中檢索到的對(duì)象。檢索兩次的元素從緩存中檢索,緩存用于在書(shū)架關(guān)閉或同步時(shí)將更改寫(xiě)回文件。

Shelf.sync()將所有緩存條目寫(xiě)回磁盤(pán)上的文件,并清除緩存。架子忘記了所有檢索到的對(duì)象。對(duì) 的進(jìn)一步更改example不會(huì)反映在架子上,如果您d["example"]在同步后再次嘗試檢索,您將得到一個(gè)從架子上重建的新 dict,而不是得到example.

看起來(lái)沒(méi)有公共接口可以在不刷新緩存的情況下同步更改。


此外,sync重新腌制緩存中的每個(gè)條目,無(wú)論有沒(méi)有改變(它不知道),并將新的腌制寫(xiě)回磁盤(pán)。這需要多長(zhǎng)時(shí)間。


查看完整回答
反對(duì) 回復(fù) 2022-10-11
  • 1 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)