Shared Instances

When running more than one WordPress installation on the same Redis instance, it’s highly recommended to use a separate Redis database for each site.

If several sites must share the same database or when using Redis Cluster, a unique prefix can be configured for each site.

Using Databases

For the best performance, it’s recommended to use a different database index 0-15 for each WordPress installation, by using the database configuration option.

By default, Redis has 16 databases. This can be increased to in your redis.conf.

define('WP_REDIS_CONFIG', [
    'host' => '127.0.0.1',
    'database' => 0,
]);

Using Prefixes

When only a single database is available to you, the best way to isolate individual sites is using the prefix configuration option.

The downside of using a prefix over different databases is that cache flushes are global. If site A flushes the object cache, then site B and C will also be flushed.

define('WP_REDIS_CONFIG', [
    'prefix' => 'mysitename',
]);

Prefixes must be 32 characters or less. To optimize human readability avoid special characters and use simple string such as:

// Good
'apple'
'bugs-apple'
'apple-jobs'

// Bad
'www_apple_com'
'jobs.apple.com'
'1f3870be274f6c49b3e31a0c6728957f'

Database sizes

By default, Object Cache Pro displays the Redis database size in various places. For technical reasons, this “Redis Memory” number includes all 0-15 Redis databases, not just the one set using the database configuration option.

This can be misleading for end-users, especially after clearing the cache and seeing the “Redis Memory” not drop to (near) zero.

To avoid this confusion use the shared configuration options to display object/key counts, instead of the database size.