Upgrade to Pro — share decks privately, control downloads, hide ads and more …

フロントのキャッシュ

Avatar for nikawa2161 nikawa2161
July 08, 2025
1

 フロントのキャッシュ

Avatar for nikawa2161

nikawa2161

July 08, 2025
Tweet

Transcript

  1. コード例(C++) void MemoryCache::pruneLiveResources(PruneStrategy strategy) { ASSERT(!m_prunePending); size_t capacity = liveCapacity();

    // 割り当て可能なメモリ量 if (strategy == MaximalPrune) // 強制削除なら全削除 capacity = 0; if (!m_liveSize || (capacity && m_liveSize <= capacity)) return; size_t targetSize = static_cast<size_t>(capacity * cTargetPrunePercentage); for (int priority = MemoryCacheLiveResourcePriorityLow; priority <= MemoryCacheLiveResourcePriorityHigh; ++priority) { MemoryCacheEntry* current = m_liveDecodedResources[priority].m_tail; while (current) { MemoryCacheEntry* previous = current->m_previousInLiveResourcesList; ASSERT(current->m_resource->hasClients()); if (current->m_resource->isLoaded() && current->m_resource->decodedSize()) { double elapsedTime = m_pruneFrameTimeStamp - current->m_lastDecodedAccessTime; if (strategy == AutomaticPrune && elapsedTime < m_delayBeforeLiveDecodedPrune) return; current->m_resource->prune(); if (targetSize && m_liveSize <= targetSize) return; } current = previous; } } } 7
  2. ブラウザキャッシュ 特徴 ディスク上に保存されるキャッシュ 再訪問時の読み込みを高速化してくれる 検証ツールの disk cache がこれ メモリ上ではなくディスクに保存されるので PC

    の電源が切れても消えない インメモリキャッシュが使われない場合の代わりとして機能する ハードリロード(Ctrl+Shift+R など)では無視される 10
  3. 実際のネットワークタブでの確認 memory cache と disk cache の違い memory cache: 0ms

    で即座にレスポンス disk cache: 2ms でレスポンス(ディスクアクセスによる遅延) Memory cache の方が高速だが、ブラウザを閉じるとクリアされる。 Disk cache は永続的だが、ディスクアクセスのためわずかに遅い。 11