= gerrit flush-caches

== NAME
gerrit flush-caches - Flush some/all server caches from memory.

== SYNOPSIS
[verse]
--
_ssh_ -p <port> <host> _gerrit flush-caches_ --all
_ssh_ -p <port> <host> _gerrit flush-caches_ --list
_ssh_ -p <port> <host> _gerrit flush-caches_ --cache <NAME> ...
--

== DESCRIPTION
Clear an in-memory cache, forcing Gerrit to reconsult the ground
truth when it needs the information again.

Flushing a cache may be necessary if an administrator modifies
database records directly in the database, rather than going through
the Gerrit web interface.

If no options are supplied, defaults to `--all`.

== ACCESS

The caller must be a member of a group that is granted one of the
following capabilities:

* link:access-control.html#capability_flushCaches[Flush Caches] (any cache
  except "web_sessions")
* link:access-control.html#capability_maintainServer[Maintain Server] (any cache
  including "web_sessions")
* link:access-control.html#capability_administrateServer[Administrate Server]
  (any cache including "web_sessions")

== SCRIPTING
This command is intended to be used in scripts.

== OPTIONS
--all::
	Flush all known caches.  This is like applying a big hammer,
	it will force everything out, potentially more than was
	necessary for the change made. This option automatically
	skips flushing potentially dangerous caches such as
	"web_sessions".  To flush one of these caches, the caller
	must specifically name them on the command line, e.g. pass
	`--cache web_sessions`.

--list::
	Show a list of the caches.

--cache <NAME>::
	Flush only the cache called <NAME>.  May be supplied more
	than once to flush multiple caches in a single command
	execution.

== EXAMPLES
List caches available for flushing:

----
$ ssh -p 29418 review.example.com gerrit flush-caches --list
accounts
diff
groups
ldap_groups
openid
projects
sshkeys
web_sessions
----

Flush all caches known to the server, forcing them to recompute:

----
$ ssh -p 29418 review.example.com gerrit flush-caches --all
----

or

----
$ ssh -p 29418 review.example.com gerrit flush-caches
----

Flush only the "sshkeys" cache, after manually editing an SSH key
for a user:

----
$ ssh -p 29418 review.example.com gerrit flush-caches --cache sshkeys
----

Flush "web_sessions", forcing all users to sign-in again:

----
$ ssh -p 29418 review.example.com gerrit flush-caches --cache web_sessions
----

== SEE ALSO

* link:cmd-show-caches.html[gerrit show-caches]
* link:config-gerrit.html#cache[Cache Configuration]
* link:config-gerrit.html#cache_names[Standard Caches]

GERRIT
------
Part of link:index.html[Gerrit Code Review]

SEARCHBOX
---------
