問題タブ [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.
c - MacOSXのバッファキャッシュをクリアする
Mac、できればCでバッファキャッシュをプログラムでクリアする方法はありますか?
purge
基本的に、私は10.5(およびそれ以上)のコマンドのソースに相当するものを探しています。編集:これはCHUDツールの一部であり、ソースが直接利用できないようです。しかし、私はまだ同じことをするためのいくつかのコードを探しています。
java - JavaORMを介したレコードのバッチ削除/パージ
右-データベースから1,000,000レコードを削除したい(例)。これには長い時間がかかります->トランザクションがタイムアウトして失敗します。だから-私はそれらをバッチで削除し、トランザクションごとに25000レコードと言います。MySQLのlimit句またはOracleのROWNUMを使用します。これはうまくいきます。
これをデータベースに依存しない方法で実行したいと思います。また、JPA/Hibernateを使用する既存のJavaコードベースから。
運が悪い。JPA Query.setMaxResultsおよびsetFirstResultは、書き込み'クエリ'(削除など)には影響しません。多くのエンティティをメモリに選択して個別に削除するのは非常に遅く、ばかげていると思います。
そのため、ネイティブクエリを使用して、アプリケーションコードの「limit」句を管理します。この句をorm.xmlにカプセル化すると便利ですが、...「HibernateAnnotations 3.2は、ネイティブクエリを使用した一括更新/削除をサポートしていません。」-http ://opensource.atlassian.com/projects/hibernate/browse/ANN-469。
これはよくある問題だと思います。誰かがより良いデータベースに依存しないソリューションを手に入れましたか?
oracle - Oracle データベースの古いデータを削除するためのテクニック
成熟した Oracle データベース アプリケーション (10 年以上実稼働) があり、その間、不要になった古いデータを削除するために独自に考案したスクリプトを使用してきました。これらは、適切なテーブルに対して削除ステートメントを発行することによって機能し、頻繁なコミットを伴うループで、I/O によるシステムの過負荷や過度の undo スペースの使用を回避します。
ほとんどの場合、それらは正常に機能します。これらは毎日実行され、システムから最も古い日付のデータを削除するのに約 1 時間かかります。私が持っている主な懸念は、このすべての削除がテーブルとインデックスに与える影響と、システムに過度の負荷をかけていなくても、1 日分のデータをその短い時間で削除すると吹き飛ばされるという事実です。インスタンスのバッファ キャッシュを削除すると、キャッシュが徐々に復元されるため、次の数時間は後続のクエリの実行がわずかに遅くなります。
何年もの間、私たちはより良い方法を検討してきました。以前、人々が古いデータのリーピングを管理するためにパーティション分割されたテーブルを使用していたと聞いたことがあります。このアプローチの主な欠点は、リープ ルールが「X 月を削除する」を超えていることです。ユーザーは、キー値に基づいてデータがシステムに保持される期間を指定できます (たとえば、請求書テーブルでは、アカウント foo は 3 か月後に削除できますが、アカウント bar は 2 年間保持する必要がある場合があります)。
参照整合性の問題もあります。Oracle のドキュメントでは、主にテーブルがハイパーキューブである傾向があるデータ ウェアハウスのコンテキストでデータをパージするためのパーティションの使用について説明しています。私たちのものは OLTP の終点に近く、月 X のデータが月 Y のデータと関係を持つことはよくあることです。
キャッシュ ブローアウトについては、専用のバッファ キャッシュの設定について少し読んだことがありますが、ユーザーごとまたはトランザクションごとではなく、テーブルごとのようです。キャッシュを保持するために、一度削除されたデータを保持する必要がないため、リーピング ジョブがいつでも 1 つのトランザクションに相当するデータのみをキャッシュに保持するようにしたいと考えています。
予見可能な将来のために削除を使用して行き詰まっていますか、それともリープに対処するための他のより賢い方法はありますか?
mercurial - Mercurialワーキングツリー内のすべての.origファイルを自動的に削除するにはどうすればよいですか?
マージ中に、mercurialは未解決のファイルの.origファイルを残します。ただし、手動で問題を解決し、ファイルに正しいマークを付けた後は、.origファイルは削除されません。コマンドで自動的に削除できますか?
私はMacで作業しているので、次のようなものを使用できます。
エイリアスを付けるか何かですが、hgcleanupのようなものを使用したいと思います...
アップデート:
しばらくしてから、Purge拡張機能はMercurialにバンドルされており、この問題をうまく解決します。
bash - サブセットの検索とグラブの結果を並べ替える (bash)
1つは mysql dbs をダンプし、2 つ目は古いバックアップをパージします。
私は常に日付に頼ってきたので、7 日より古いファイルはすべて削除され、新しいバックアップが毎日作成されます。その結果、7 日前の一連のバックアップが作成されました。
さて、私は20以上のデータベースを持っているので、その毎日の仕事を毎日と毎週の仕事に分けました. 検索と日付の方法を使い続けると、過去 1 週間を失うことになります。
質問
検索の出力を日付で並べ替えてから、最新の 7 つを除くすべてを削除するにはどうすればよいですか (最新のものが 2 か月前であっても、残ります)。
これは私が得た限りですが、期待どおりではありません。おそらく、ls を使用する方がより良い選択かもしれません。
既存のファイル
パージのターゲット (単純な rm -f $var の変数に設定したい)
(1/23~1/29の日付はそのまま)
java - Hibernate を使用しているときにデータベース テーブルを切り捨ててもよろしいですか?
Hibernate を使用してデータを挿入すると同時に、テーブルを切り捨てても問題ありませんか?
多くの関係を持つ大きな XML ファイルを Hibernate POJO に解析し、DB に永続化します。
現在、テーブルを切り捨てることにより、特定の時点で既存のデータをパージすることを計画しています。これでよろしいですか?
それはうまくいくようです。Hibernate の二次キャッシュは使用しません。私が気づいたことの1つは、これは問題ありませんが、挿入時に@GeneratedValue
Hibernateを使用して主キーを生成することです.Hibernateはテーブルの最高値よりも1大きいキー値を使用します.テーブルを切り捨てていますが、Hibernateは前のvalue を使用し、1 からやり直すのではなく、以前の値 + 1 を使用します。これは問題ありませんが、予想外です。
delete()
Hibernate POJOを呼び出すのではなく切り詰める理由は、速度のためであることに注意してください。膨大な数のデータ行があり、truncate は非常に高速です。
c# - c#でジャーナルキューをパージするには?
パージがキューで機能するようになっていますが、そのジャーナルでは機能しません。MessageQueue oque1 = new MessageQueue(Qname); oque1.UseJournalQueue = true; oque1.Purge();
caching - Nginx リバース プロキシ キャッシュ無効化戦略
Nginx 0.8.5 をキャッシング リバース プロキシとして使用して、カスタム cdn のようなソリューションを構築し、サイトの読み込み時間を短縮しています。キャッシュパージモジュールがインストールされていても、キャッシュの無効化が非常にぎこちないことを除いて、これまでのところうまく機能しています.
たとえば、一度に 100 個の URL を無効にする必要がある場合があります。これには、各 Caching リバース プロキシ サーバーに送信するために 100 個の異なる要求が必要です。
これは、セットアップされた 2 つのキャッシュ サーバーではほとんど機能せず、20 台のサーバーに拡張する予定であるため、より良い解決策を見つける必要があります。何か案は?
単純に Nginx を再構成するだけではうまくいきません。カスタム コードを作成する必要があると確信しています。また、カスタム Nginx モジュールの開発には関与したくありません。
git - チーム全体で大きなファイルを完全に削除する方法
私のチームの誰かが大きなファイルをgitサーバーにプッシュし、チームの全員が大きなファイルを含むプロジェクトのクローンを作成しました。
http://help.github.com/removing-sensitive-data/のガイドに従いました。これは、ローカルソースツリーとリモートサーバーで機能します。ただし、別の人がリモートサーバーから新しいデータをフェッチすると、サーバーに新しいコミットをプッシュすることで、大きなファイルを簡単に再導入できます。
通常、チームメンバーは、自分のコミットを他の人と共有するために次のことを行います。
'rebase'のステップで、古い大きなファイルが彼のローカルコミットに再導入されます。もちろん、直接的な方法は、大きなファイルを削除した後、チームの全員にプロジェクトの再クローンを作成するように要求することですが、全員が喜んでそうするわけではありません。私は、プロジェクト全体をすべての人のために再クローン化する以外の方法を見つけています。
助言がありますか?ありがとう。