PPS maintains its objects in memory while it's running.

It will, as required:

The underlying persistent storage used by PPS relies on a reliable filesystem, such as:

When PPS starts up, it immediately builds the directory hierarchy from the encoded filenames on the persistent filesystem. It defers loading the objects in the directories until first access to one of the files. This access could be an open() call on a PPS object, or a readdir() call on the PPS directory.

On shutdown, PPS always saves any modified objects to a persistent filesystem. You can also force PPS to save an object at any time by calling fsync() on the object. When PPS saves to a persistent filesystem, it saves all objects to a single directory.

Note: You can set PPS object and attribute qualifiers to have PPS not save specific objects or attributes.