# DB Cache Server and Client

The DB cache of the ProudNet DB system is a subsystem for reading/writing the game database, and the database contents are cached in the server memory to reduce the load on the DBMS.

Other servers, such as game servers and authentication servers, must have a DB cache client, which connects to the DB cache server and accesses the game DBMS indirectly, usually through <mark style="color:orange;">stored procedure</mark>.

<figure><img src="/files/GdO6Ve4Cm45wfYKITXoN" alt=""><figcaption><p>ProudDB cache server and client configuration chart</p></figcaption></figure>

## DB Cache server

The DB cache server is the only process that has direct access to the game DBMS. This is because the latest contents of the DB cache may not yet be reflected in the game DBMS.

If you want to make changes elsewhere to the contents of the game DBMS that the DB cache is accessing, use [**non-proprietary data access**](/proudnet.eng/proudnet/db_system/db_cache_ver2/theory.md#id-3-accessing-non-proprietary-data).

## DB cache client

The DB cache client loads object information from the game DBMS, and the DB cache client can read as much as it wants without overloading the DBMS.\
If the information loaded by the DB cache client is modified by a [**unilateral data change**](/proudnet.eng/proudnet/db_system/db_cache_ver2/theory.md#id-1-making-unilateral-data-changes), the contents are sent to the DB cache server.\
When a DB cache system receives a modification request from a DB cache client, it does not immediately write to the DBMS, but instead updates the value in memory on the DB cache server. It writes to the DBMS when a certain time or milestone (defined by the server user) arrives.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.proudnet.com/proudnet.eng/proudnet/db_system/db_cache_ver2/server_client.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
