- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们正在使用 Voyage 将大量数据存储到 MongoDB。
目前的问题是,Voyage 正在缓存所有保存到数据库中的对象。每当缓存接近其大小的最大值时,它就会变得非常慢。
当然,我们可以增加缓存的最大大小,但是 VOMongoCache 的类描述说:
Main purpose is not optimization but prevent duplicated objects (when they should be the same)
因为我们只保存新生成的对象,所以我们不需要这些缓存。
所以我们要完全禁用缓存。目前我们只是使用这个解决方法来禁用缓存:
VOMongoCache>>
at: anOID put: anObject
self compactIfNeeded.
self mutex
critical: [ "objects at: anOID put: anObject" ].
我们只是注释掉了将对象添加到缓存的部分。
是否有更好的解决方案来完全禁用缓存?
提前致谢!
最佳答案
Voyage 是一个对象图序列化程序。因此缓存是绝对需要的。您的用例可能不是设计时考虑的所有重要案例。您只是在编写对象,但从序列化程序的角度来看,您可以随时读取,然后它应该是正确的。
无论如何。也许它有助于微调您的应用程序。 Voyage 所做的是将所有事件对象保存在缓存中。对于事件,我的意思是目前任何处理代码都有对对象的引用。如果对象不再处于事件状态,垃圾收集器将删除它们,同时它们在缓存中为 nil'ed。如果缓存增长太大,压缩将开始删除所有 nil'ed 条目,为新对象腾出空间。如果您有一种方法正在运行,它保留对您序列化的所有对象的引用,那么缓存会增长,它会压缩但不会释放插槽。因此在下一步中再次尝试压缩,使整个过程变慢。
您可以做的是处理您的对象(必须编写),以一种您持有一些的方式,序列化它们,然后它们应该超出范围,以便清理过程可以管理它们。其次,我将使用
扩展缓存上的 compactLimitVORepository current cache compactLimit: aNumber
这样,压缩运行的频率就会降低,从而让您的代码和 GC 有更多时间并行解决问题。
关于mongodb - 如何在 Voyage for Pharo 中禁用缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23764148/
所以我尝试为我的 laravel 安装 Voyager,但是当我插入 php artisan voyager:install 我收到此错误消息: (Symfony\Component\Console\
我在 godaddy.com(共享主机)上使用 installatron 创建了一个 Laravel 应用程序。安装 Voyager 后,默认管理员头像未显示。存储链接由 Voyager 自动创建。但
我正在使用 Laravel 8.4(“laravel/framework”:“^8.40”)和 Voyager 1.4(“tcg/voyager”:“^1.4”)进行开发。 我在使用 Laravel
我正在使用 Laravel 8.4(“laravel/framework”:“^8.40”)和 Voyager 1.4(“tcg/voyager”:“^1.4”)进行开发。 我在使用 Laravel
当我尝试使用 BREAD creator for voyager 添加具有多对多关系的新项目时出现此错误: SQLSTATE[23000]: Integrity constraint violatio
\(\color{#FFFFFF}{那是什么样的旅途呢}\) \(\color{#FFFFFF}{真的会害怕很多东西呢。想想害怕的其实不止这样一件事,便产生了“其实都一样没关系的,都应该
我为 Laravel (v8.0) 使用 Voyager 管理界面 (v.1.4)。Voyager 支持多种语言(官方文档:https://voyager-docs.devdojo.com/v/1.4
我正在使用 laravel voyager 包,需要更新菜单。尽管更新了组件文件夹中的 admin_menu.vue ,但更改并未得到反射(reflect)。另外,我运行以下命令: php artis
我对 Voyager 中的面包屑有疑问。当显示面包屑时,它会显示一个单独的“Http”框和“URL”框。 图片:1 最佳答案 同样的问题,您是否有在应用程序前面处理 SSL 的反向代理? 这是我的情况
如何在 voyager 中使用警报?有什么例子吗?我想在提交带有空字段的帖子时显示警报。 Voyager 版本:v0.11.14 最佳答案 从 Controller 中,您可以执行以下操作: retu
我想翻译在 Voyager 中创建的博客模板。当我添加新帖子时,我只用一种语言编写。您能一步步告诉我如何在我的帖子中添加翻译吗?我希望后期翻译可以从 Voyager 管理面板更改,而不是从文件更改。我
我有一个关于 Voyager Laravel Admin (BREAD) 的问题。 我有一个关系船(广告 - belongsTo -> 游戏)。而且广告有很多种,类型也有游戏参数。在 Voyager
我正在使用 Voyager 作为基本 BREAD 管理员来管理我正在为小型非营利组织构建的小型 Web 应用程序。每年他们需要将 300-500 个新的半复杂条目从 Excel 导入数据库,因此我想构
[解决了] 我的 Laravel 5.7 项目中有一个简单的列表,并使用 voyager 来管理它的数据。 我想制作一个完全有效的 created_by 和 last_edit_by BREAD 表,
将 Laravel 更新到 5.8 后。* Voyager 完全损坏 突然面包坏了,可搜索的是 Undefined variable Call to a member function getTran
有没有办法将某些条件应用于 Voyager's BREAD 显示的记录列表?例如,只显示特定列为空的记录(即 WHERE 'col_name' IS NULL)? 最佳答案 更新(17/12/18):
有没有办法将某些条件应用于 Voyager's BREAD 显示的记录列表?例如,只显示特定列为空的记录(即 WHERE 'col_name' IS NULL)? 最佳答案 更新(17/12/18):
如何添加额外字段或自定义 voyager 管理面板的注册表单以及如何了解 MySQL 数据库中密码字段的密码加密功能。 密码加密功能: 最佳答案 首先进入管理面板工具->数据库。点击编辑面包。屏幕右侧
我正在尝试在我的 laravel 应用程序上安装 voyager,当我在控制台中运行“php artisan voyager:install --with-dummy”时,我收到此错误 PS C:\x
我想移动 voyager linux(xubuntu 分支)的时间和 cpu 显示。在默认设置下,它位于左侧。我想把它移到右上角。 最佳答案 解决了我自己航海者使用 conky 选择主题任意位置桌面
我是一名优秀的程序员,十分优秀!