1

みなさん、良い一日を。

データの更新に再キャッシュを使用した場合、どのような影響がありますか? これは私がやろうとしていることですが、キャッシュなしを再キャッシュに置き換えるとどうなるかを知る必要があります

アイデアを説明します。このテキストボックスでは、データベースの最後の桁を呼び出して1を追加しますが、このフォームを使用する複数のユーザーが番号が重複する可能性がある場合、これに問題があることがわかります。@If(@IsNewDoc;@Elements(@DbColumn("":"nocache";@DbName;"GPA";1))+1;@Return(GPnum))

@dblookupを使用して自分の番号に重複があるかどうかを確認する場合、私の考えはこの道を案内してくれますが、私はそれを通過させません。

4

1 に答える 1

2

再キャッシュは、重複を回避するのに役立ちません。

Lotus Notesでカウンターをインクリメントして、ドキュメントの一意のシーケンシャル識別子を作成しようとしています。これは、少なくとも20年間、多くの人々によって何度も議論されてきた問題です。StackOverflowやその他のさまざまなフォーラム、ブログ、記事で優れた情報を見つけることができます。有効な2つのアプローチは

  • 最後のカウンター値を構成ドキュメントに保存し、ドキュメントのロックを使用して、2人のユーザーが同時にアクセスして更新しないようにします。
  • カウンタ変数をユーザーコードに直接設定しないでください。フィールドに「保留中」の値を入力するコードを記述し、1台のサーバーでのみ実行されるスケジュールまたはトリガーされたバックグラウンドエージェントに依存して、最終的な値を設定します。(Agent Managerは、1つのデータベースで一度に実行できるエージェントは1つだけであることを保証しているため、競合は発生しません。)
  • 識別子にシーケンシャルカウンターを使用しないでください。@Unique代わりに関数を使用してください。ドキュメントには、一意の番号ではなく一意のコードが含まれます。

この回答、この回答、およびこの記事を参照してください。

于 2012-11-26T05:50:38.810 に答える