[過去ログ] C#, C♯, C#相談室 Part96 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
618(2): デフォルトの名無しさん (オイコラミネオ MM67-LO0k) [sage] 2022/11/20(日) 13:13:14.12 ID:P+FEWrnJM(1/2) AAS
>>611611(3): デフォルトの名無しさん (ワッチョイ 4b5f-kiOm) [sage] 2022/11/20(日) 11:29:27.36 ID:7pjHG/e/0(2/4) AAS
まあ要件次第なのはそうなので、要件を絞って
サイズが大きい
更新頻度が少ない
使用頻度が少ない
この場合はキャッシュするとして、その場合のキャッシュ方法って何がおすすめですかね?
マスターを使うときの実装としてはこんな感じを考えてる
更新されたかの確認
更新された場合、クライアントにダウンロードし、ついでにファイルに保存。
更新されてない場合、クライアントにファイルがあればそれをメモリに展開。
ファイルがなければ、更新された時と同様
それだとオンラインで普通に処理して結果だけ貰うのが正解
ローカルに置くのは速度が最優先される場合
で速度が求められるのは使用頻度が高い機能
仕様頻度が低い機能にそんな変なことせんでいい
619: デフォルトの名無しさん (ワッチョイ 86bb-hSjh) [sage] 2022/11/20(日) 13:23:28.05 ID:ehdgoKhb0(1/2) AAS
>>618
せやな
625(2): デフォルトの名無しさん (ワッチョイ 4b5f-kiOm) [sage] 2022/11/20(日) 16:46:06.08 ID:7pjHG/e/0(4/4) AAS
>>616616(1): デフォルトの名無しさん (ワッチョイ e201-IwB9) [sage] 2022/11/20(日) 12:52:11.40 ID:AxU0uBeT0(1/2) AAS
何を聞きたいのかさっぱりわからん
マスター ⇒ クライアントのファイル ⇒ メモリー の2階層キャッシュなら
マスターの更新日時を取得
if(キャッシュファイル無し && キャッシュファイル更新日時 < マスターの更新日時){
マスターダウンロードしてキャッシュファイル更新(キャッシュファイルの更新日時を更新)
}
if(展開済みメモリー無し && メモリー更新日時 < キャッシュファイルの更新日時){
キャッシュファイルをメモリーに展開
メモリーの更新日時を更新
}
ってやるだけだろ
実装方法としてはそんな感じ
>>617他の人がどんな感じで実装してるか気になったんだよね
会社の中で開発する人が少ないと周りの意見とか全然入ってこなくて…
>>618
ローカルに保持するデータの使い道は主にコンボボックスの候補とかオートコンプリート用
>>621621(1): デフォルトの名無しさん (ワッチョイ a201-X9TU) [sage] 2022/11/20(日) 13:55:02.81 ID:fuSoz9vj0(2/2) AAS
>>614
マスターの全データじゃなく都度必要なデータだけサーバーから返すようにすれば通信時間とかは誤差の範囲だと思うよ
特に古いマスターのデータを絶対に使っちゃだめなユースケースの業務アプリならクライアント側にキャッシュするメリットはほぼない
どうしてもキャッシュするならサーバーから取得した部分的なデータだけキャッシュして基本はローカルチェックのみ
クライアント側でマスターデータを使って何かデータを作成/更新するときはマスターのバージョンを条件に入れておいて古い場合はエラーではじく(これは状況によってはキャッシュしてなくても必要な処理)
そのマスターが10個とかあったら数秒待たされたときがあって気になったんだよね
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.818s*