问题标签 [purge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
13846 浏览

c - 在 Mac OS X 上清除缓冲区缓存

有没有办法以编程方式清除 Mac 上的缓冲区缓存,最好是在 C 中?

基本上,我正在寻找相当于 10.5(及更高版本)purge命令的来源。编辑:我现在看到这是 CHUD 工具的一部分,它的源似乎不是直接可用的。但是,我仍在寻找一些代码来做同样的事情。

0 投票
4 回答
4001 浏览

java - 通过 Java ORM 批量删除/清除记录

对 - 我想从数据库中删除(例如)1,000,000 条记录。这需要很长时间 -> 事务超时并失败。所以 - 我分批删除它们,说每笔交易有 25000 条记录。在 MySQL 上使用 limit 子句或在 Oracle 上使用 ROWNUM。太好了,这很有效。

我想以独立于数据库的方式执行此操作。并且来自使用 JPA/Hibernate 的现有 Java 代码库。

运气不好。JPA Query.setMaxResults 和 setFirstResult 对写入“查询”(例如删除)没有影响。我会说,将许多实体选择到内存中以单独删除它们是非常缓慢和愚蠢的。

所以我使用本机查询并管理应用程序代码中的“限制”子句。将此子句封装在 orm.xml 中会很好,但是……“Hibernate Annotations 3.2 不支持使用本机查询进行批量更新/删除。” - http://opensource.atlassian.com/projects/hibernate/browse/ANN-469

我想这是一个普遍的问题。有人有更好的数据库独立解决方案吗?

0 投票
4 回答
5440 浏览

oracle - 删除 Oracle 数据库上旧数据的技术

我们有一个成熟的 Oracle 数据库应用程序(已投入生产超过 10 年),在此期间,我们一直在使用自己设计的脚本来删除不再需要的旧数据。它们通过在频繁提交的循环中针对适当的表发出删除语句来工作,以避免系统因 i/o 过载或使用过多的撤消空间。

在大多数情况下,它们工作正常。它们每天运行,大约需要一个小时才能从系统中删除最旧日期的数据。我主要担心的是所有这些删除可能对表和索引产生的影响,以及即使它们不会过度加载系统,在短时间内删除一天的数据确实会产生影响实例缓冲区缓存,导致后续查询在接下来的几个小时内运行速度稍慢,因为缓存逐渐恢复。

多年来,我们一直在考虑更好的方法。过去,我听说人们使用分区表来管理旧数据的回收——例如,每个分区一个月,然后每月删除最旧的分区。这种方法的主要缺点是我们的收获规则超出了“删除 X 月”的范围。允许用户根据键值指定数据必须在系统中保留多长时间(例如,在发票表中,帐户 foo 可以在 3 个月后删除,但帐户栏可能需要保留 2 年)。

还有参照完整性的问题;Oracle 文档主要在数据仓库的上下文中讨论使用分区来清除数据,其中表往往是超立方体。我们的更接近于 OLTP,X 月的数据与 Y 月的数据有关联是很常见的。为这些表创建正确的分区键充其量是很麻烦的。

至于缓存井喷,我读过一些关于设置专用缓冲区缓存的内容,但似乎更多的是基于每个表,而不是基于每个用户或每个事务。为了保留缓存,我真的很希望收割工作在任何时候只将一个事务的数据保留在缓存中,因为一旦删除就不需要保留数据。

在可预见的未来,我们是否坚持使用删除,还是有其他更聪明的方法来处理收获?

0 投票
12 回答
27726 浏览

mercurial - 如何自动删除 Mercurial 工作树中的所有 .orig 文件?

在合并期间,mercurial 会为任何未解析的文件留下 .orig 文件。但是在手动解决问题并将文件标记为正确后,它不会删除 .orig 文件。它可以通过某些命令自动删除吗?

我在 Mac 上工作,所以我可以使用类似的东西:

并给它起别名或其他东西,但我宁愿使用 hg cleanup 之类的东西......

更新:

从现在开始,Purge 扩展与 Mercurial 捆绑在一起,很好地解决了这个问题。

0 投票
1 回答
868 浏览

svn - 能够从 SVN 中删除特定版本吗?

SVN 是否允许您从其文件夹结构中完全干净地删除整个修订?

我使用 Tortoise SVN 从 SVN 存储库中删除了一个文件,并且由于大小我希望它从存储库中完全删除。它似乎已从 head 修订版中删除,但未从 SVN 文件夹结构中删除。

我想删除将文件添加到存储库的修订版,因此没有留下这个巨大文件的痕迹。

是否有能力完全干净地从存储库中清除此文件?

感谢您的任何见解。

0 投票
4 回答
2909 浏览

bash - 从查找和抓取子集(bash)中对结果进行排序

我有一对 bash 脚本,一个用于转储 mysql dbs,第二个用于清除旧备份

我一直依赖日期,所以任何超过 7 天的文件都会被清除,并且每天都会创建新的备份。结果是 7 天前的一组备份。

好吧,现在我有 20 多个 db,我已将日常工作分为每日和每周工作。如果我继续使用查找和日期方法,我将失去过去一周。

问题

如何按日期对查找的输出进行排序,然后清除除最近的 7 个之外的所有内容。 (因此,即使最近的 2 个月大,它仍然存在)

这是据我所知,但并不像预期的那样。也许使用 ls 可能是更好的选择 9find 是使用日期作为清除的唯一标准的残余)


现有文件

清除目标(我想为简单的 rm -f $var 设置变量)

(日期 1/23 - 1/29 保持不变)

0 投票
2 回答
3979 浏览

java - 还可以在使用 Hibernate 时截断数据库表吗?

在使用 Hibernate 插入数据的同时截断表是否可以?

我们将具有许多关系的大型 XML 文件解析为 Hibernate POJO 并持久保存到数据库中。

我们现在计划通过截断表在某些时间点清除现有数据。这个可以吗?

似乎工作正常。我们不使用 Hibernate 的二级缓存。我确实注意到的一件事很好,那就是在插入时,我们使用 Hibernate 生成主键@GeneratedValue,其中 Hibernate 只使用比表中的最大值大一的键值 - 即使我们截断表,Hibernate 也会记住先前的value 并使用先前的 value + 1 而不是从 1 重新开始。这很好,只是出乎意料。

请注意,我们截断而不是调用delete()Hibernate POJO 的原因是为了速度。我们有数以百万计的数据行,而 truncate 的速度要快得多。

0 投票
1 回答
1384 浏览

c# - 如何在 C# 中清除日志队列?

我正在清除队列中的工作,但不在其日志上,知道为什么吗?MessageQueue oque1 = new MessageQueue(Qname); oque1.UseJournalQueue = true; oque1.Purge();

0 投票
1 回答
2444 浏览

caching - Nginx 反向代理缓存失效策略

我一直在使用 Nginx 0.8.5 作为缓存反向代理来构建自定义的类似 cdn 的解决方案,以加快我们网站的加载时间。到目前为止,它工作得很好,除了缓存失效真的很麻烦,即使安装了缓存清除模块。

例如,有时我们可能需要一次使 100 个 url 无效,这需要将 100 个不同的请求发送到每个缓存反向代理服务器。

仅设置两台缓存服务器很难做到这一点,我们的计划是扩展到 20 台服务器,因此我们需要找到更好的解决方案。有任何想法吗?

简单地重新配置 Nginx 是行不通的,我确信我们需要自定义代码。而且我们不想参与自定义 Nginx 模块的开发。

0 投票
3 回答
3086 浏览

git - 如何永久删除整个团队的大文件

我团队中的某个人将一个大文件推送到了 git 服务器,团队中的每个人现在都有一个包含该大文件的项目的克隆。

我按照http://help.github.com/removing-sensitive-data/中的指南进行操作,它可以在我的本地源代码树以及远程服务器上运行。但是一旦另一个人从远程服务器获取新数据,他将通过向服务器推送新的提交来轻松地重新引入大文件。

通常,团队成员会执行以下操作来与其他人分享他的提交:

在'rebase'的步骤中,旧的大文件被重新引入他的本地提交中。当然,直接的方法是要求团队中的每个人在我删除大文件后重新克隆项目,但并不是每个人都愿意这样做。除了为每个人重新克隆整个项目之外,我正在寻找其他方法。

有什么建议么?谢谢。