🎨 调整数据库缓存

This commit is contained in:
Liang Ding 2023-02-09 17:18:29 +08:00
parent 6a5617dcc1
commit 19f44148d4
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
13 changed files with 17 additions and 22 deletions

View file

@ -882,7 +882,6 @@
"task.database.index.commit": "Execute database index commit",
"task.database.index.ref": "Execute database index reference",
"task.database.index.fix": "Execute database index fix",
"task.database.cache": "Execute database cache",
"task.ocr.image": "Execute image OCR to extract text",
"task.history.generateDoc": "Execute GenerateDoc History",
"task.database.index.embedBlock": "Execute database index embed block",

View file

@ -882,7 +882,6 @@
"task.database.index.commit": "Ejecutar la confirmación del índice de la base de datos",
"task.database.index.ref": "Ejecutar referencia de índice de base de datos",
"task.database.index.fix": "Ejecutar corrección del índice de la base de datos",
"task.database.cache": "Ejecutar caché de base de datos",
"task.ocr.image": "Ejecutar OCR de imagen para extraer texto",
"task.history.generateDoc": "Ejecutar Historial GenerateDoc",
"task.database.index.embedBlock": "Ejecutar bloque de incrustación de índice de base de datos",

View file

@ -882,7 +882,6 @@
"task.database.index.commit": "Effectuer la validation de l'index de la base de données",
"task.database.index.ref": "Exécuter la référence d'index de la base de données",
"task.database.index.fix": "Effectuer la correction de l'index de la base de données",
"task.database.cache": "Effectuer le cache de la base de données",
"task.ocr.image": "Exécute l'OCR d'image pour extraire le texte",
"task.history.generateDoc": "Exécuter l'historique de GenerateDoc",
"task.database.index.embedBlock": "Exécuter le bloc d'intégration d'index de base de données",

View file

@ -882,7 +882,6 @@
"task.database.index.commit": "執行數據庫索引提交",
"task.database.index.ref": "執行數據庫索引引用",
"task.database.index.fix": "執行數據庫索引訂正",
"task.database.cache": "執行數據庫緩存",
"task.ocr.image": "執行圖片 OCR 提取文本",
"task.history.generateDoc": "執行生成文件歷史",
"task.database.index.embedBlock": "執行數據庫索引嵌入塊",

View file

@ -882,7 +882,6 @@
"task.database.index.commit": "执行数据库索引提交",
"task.database.index.ref": "执行数据库索引引用",
"task.database.index.fix": "执行数据库索引订正",
"task.database.cache": "执行数据库缓存",
"task.ocr.image": "执行图片 OCR 提取文本",
"task.history.generateDoc": "执行生成文件历史",
"task.database.index.embedBlock": "执行数据库索引嵌入块",

8
kernel/cache/ial.go vendored
View file

@ -24,8 +24,8 @@ import (
)
var docIALCache, _ = ristretto.NewCache(&ristretto.Config{
NumCounters: 200000,
MaxCost: 1000 * 1000 * 32,
NumCounters: 10240,
MaxCost: 1024,
BufferItems: 64,
})
@ -55,8 +55,8 @@ func ClearDocsIAL() {
}
var blockIALCache, _ = ristretto.NewCache(&ristretto.Config{
NumCounters: 800000,
MaxCost: 1000 * 1000 * 64,
NumCounters: 10240,
MaxCost: 1024,
BufferItems: 64,
})

View file

@ -506,7 +506,6 @@ func ReloadUI() {
func FullReindex() {
task.AppendTask(task.DatabaseIndexFull, fullReindex)
task.AppendTask(task.DatabaseCache, sql.EnableCache)
task.AppendTask(task.DatabaseIndexRef, IndexRefs)
task.AppendTask(task.ReloadUI, util.ReloadUI)
}
@ -521,7 +520,6 @@ func fullReindex() {
}
treenode.InitBlockTree(true)
sql.DisableCache()
openedBoxes := Conf.GetOpenedBoxes()
for _, openedBox := range openedBoxes {
index(openedBox.ID)

View file

@ -242,6 +242,7 @@ func RollbackDocHistory(boxID, historyPath string) (err error) {
return
}
util.ReloadUI()
FullReindex()
IncSync()
return nil
@ -297,9 +298,9 @@ func RollbackNotebookHistory(historyPath string) (err error) {
return
}
util.ReloadUI()
FullReindex()
IncSync()
ReloadUI()
return nil
}

View file

@ -131,9 +131,6 @@ func index(boxID string) {
}
func IndexRefs() {
sql.EnableCache()
defer sql.ClearBlockCache()
start := time.Now()
util.SetBootDetails("Resolving refs...")
util.PushStatusBar(Conf.Language(54))

View file

@ -29,17 +29,17 @@ import (
)
var memCache, _ = ristretto.NewCache(&ristretto.Config{
NumCounters: 800000,
MaxCost: 1000 * 1000 * 100,
NumCounters: 10240,
MaxCost: 1024,
BufferItems: 64,
})
var disabled = true
func EnableCache() {
func enableCache() {
disabled = false
}
func DisableCache() {
func disableCache() {
disabled = true
}

View file

@ -68,8 +68,8 @@ func InitDatabase(forceRebuild bool) (err error) {
defer initDatabaseLock.Unlock()
ClearBlockCache()
DisableCache()
defer EnableCache()
disableCache()
defer enableCache()
util.IncBootProgress(2, "Initializing database...")

View file

@ -105,6 +105,11 @@ func FlushQueue() {
context := map[string]interface{}{eventbus.CtxPushMsg: eventbus.CtxPushMsgToStatusBar}
total := len(ops)
if 512 < total {
disableCache()
defer enableCache()
}
for i, op := range ops {
if util.IsExiting {
return

View file

@ -86,7 +86,6 @@ const (
DatabaseIndexCommit = "task.database.index.commit" // 数据库索引提交
DatabaseIndexRef = "task.database.index.ref" // 数据库索引引用
DatabaseIndexFix = "task.database.index.fix" // 数据库索引订正
DatabaseCache = "task.database.cache" // 数据库缓存
OCRImage = "task.ocr.image" // 图片 OCR 提取文本
HistoryGenerateDoc = "task.history.generateDoc" // 生成文件历史
DatabaseIndexEmbedBlock = "task.database.index.embedBlock" // 数据库索引嵌入块