mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
Merge pull request #58810 from nextcloud/backport/58705/stable33
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
[stable33] feat: Add memcache_customprefix
This commit is contained in:
commit
a083c0da40
2 changed files with 16 additions and 3 deletions
|
|
@ -1747,6 +1747,16 @@ $CONFIG = [
|
|||
*/
|
||||
'memcache.distributed' => '\\OC\\Memcache\\Memcached',
|
||||
|
||||
/**
|
||||
* Cache Key Prefix for Redis or Memcached
|
||||
*
|
||||
* * Used for avoiding collisions in the cache system
|
||||
* * May be used for ACL restrictions in Redis
|
||||
*
|
||||
* Defaults to ``''`` (empty string)
|
||||
*/
|
||||
'memcache_customprefix' => 'mycustomprefix',
|
||||
|
||||
/**
|
||||
* Connection details for Redis to use for memory caching in a single server configuration.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ class Factory implements ICacheFactory {
|
|||
protected function getGlobalPrefix(): string {
|
||||
if ($this->globalPrefix === null) {
|
||||
$config = \OCP\Server::get(SystemConfig::class);
|
||||
$customprefix = $config->getValue('memcache_customprefix', '');
|
||||
$maintenanceMode = $config->getValue('maintenance', false);
|
||||
$versions = [];
|
||||
if ($config->getValue('installed', false) && !$maintenanceMode) {
|
||||
|
|
@ -129,7 +130,7 @@ class Factory implements ICacheFactory {
|
|||
// Include instanceid in the prefix, in case multiple instances use the same cache (e.g. same FPM pool)
|
||||
$instanceid = $config->getValue('instanceid');
|
||||
$installedApps = implode(',', array_keys($versions)) . implode(',', array_values($versions));
|
||||
$this->globalPrefix = hash('xxh128', $instanceid . $installedApps);
|
||||
$this->globalPrefix = $customprefix . hash('xxh128', $instanceid . $installedApps);
|
||||
}
|
||||
return $this->globalPrefix;
|
||||
}
|
||||
|
|
@ -143,9 +144,11 @@ class Factory implements ICacheFactory {
|
|||
public function withServerVersionPrefix(\Closure $closure): void {
|
||||
$backupPrefix = $this->globalPrefix;
|
||||
|
||||
$config = \OCP\Server::get(SystemConfig::class);
|
||||
$customprefix = $config->getValue('memcache_customprefix', '');
|
||||
// Include instanceid in the prefix, in case multiple instances use the same cache (e.g. same FPM pool)
|
||||
$instanceid = \OCP\Server::get(SystemConfig::class)->getValue('instanceid');
|
||||
$this->globalPrefix = hash('xxh128', $instanceid . implode('.', $this->serverVersion->getVersion()));
|
||||
$instanceid = $config->getValue('instanceid');
|
||||
$this->globalPrefix = $customprefix . hash('xxh128', $instanceid . implode('.', $this->serverVersion->getVersion()));
|
||||
$closure($this);
|
||||
$this->globalPrefix = $backupPrefix;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue