Disable the cache for a specific view
Unfortunately point 1 doesn't work for anonymous traffic.

You have to uninstall the Internal Page Cache module.

Or trigger

\Drupal::service('page_cache_kill_switch')-&gt;trigger();


in a view hook.

When the View is placed on most or all pages then uninstall the Internal Page Cache, because the page cache kill switch also disables the dynamic page cache and you don't want to disable both caches, unless this is only for a few pages which don't have too much traffic.

Additionally you need point 2 (disabled cache in views advanced settings) in any case.

Update:


  By the way in response header there is a header called
  x-drupal-cache:HIT. (It's MISS for the first time and then HIT after
  first load) Why?


This header is generated by the Internal Page Cache, a HIT means it is served from this cache.