diff --git a/apps/settings/composer/composer/autoload_classmap.php b/apps/settings/composer/composer/autoload_classmap.php index 9cf7a03ea3baa..a526b46873f77 100644 --- a/apps/settings/composer/composer/autoload_classmap.php +++ b/apps/settings/composer/composer/autoload_classmap.php @@ -111,7 +111,6 @@ 'OCA\\Settings\\SetupChecks\\LoggingLevel' => $baseDir . '/../lib/SetupChecks/LoggingLevel.php', 'OCA\\Settings\\SetupChecks\\MaintenanceWindowStart' => $baseDir . '/../lib/SetupChecks/MaintenanceWindowStart.php', 'OCA\\Settings\\SetupChecks\\MemcacheConfigured' => $baseDir . '/../lib/SetupChecks/MemcacheConfigured.php', - 'OCA\\Settings\\SetupChecks\\MemcacheLegacy' => $baseDir . '/../lib/SetupChecks/MemcacheLegacy.php', 'OCA\\Settings\\SetupChecks\\MimeTypeMigrationAvailable' => $baseDir . '/../lib/SetupChecks/MimeTypeMigrationAvailable.php', 'OCA\\Settings\\SetupChecks\\MysqlRowFormat' => $baseDir . '/../lib/SetupChecks/MysqlRowFormat.php', 'OCA\\Settings\\SetupChecks\\MysqlUnicodeSupport' => $baseDir . '/../lib/SetupChecks/MysqlUnicodeSupport.php', diff --git a/apps/settings/composer/composer/autoload_static.php b/apps/settings/composer/composer/autoload_static.php index be6408b7567f6..2cba33bd7dcb4 100644 --- a/apps/settings/composer/composer/autoload_static.php +++ b/apps/settings/composer/composer/autoload_static.php @@ -126,7 +126,6 @@ class ComposerStaticInitSettings 'OCA\\Settings\\SetupChecks\\LoggingLevel' => __DIR__ . '/..' . '/../lib/SetupChecks/LoggingLevel.php', 'OCA\\Settings\\SetupChecks\\MaintenanceWindowStart' => __DIR__ . '/..' . '/../lib/SetupChecks/MaintenanceWindowStart.php', 'OCA\\Settings\\SetupChecks\\MemcacheConfigured' => __DIR__ . '/..' . '/../lib/SetupChecks/MemcacheConfigured.php', - 'OCA\\Settings\\SetupChecks\\MemcacheLegacy' => __DIR__ . '/..' . '/../lib/SetupChecks/MemcacheLegacy.php', 'OCA\\Settings\\SetupChecks\\MimeTypeMigrationAvailable' => __DIR__ . '/..' . '/../lib/SetupChecks/MimeTypeMigrationAvailable.php', 'OCA\\Settings\\SetupChecks\\MysqlRowFormat' => __DIR__ . '/..' . '/../lib/SetupChecks/MysqlRowFormat.php', 'OCA\\Settings\\SetupChecks\\MysqlUnicodeSupport' => __DIR__ . '/..' . '/../lib/SetupChecks/MysqlUnicodeSupport.php', diff --git a/apps/settings/lib/AppInfo/Application.php b/apps/settings/lib/AppInfo/Application.php index 2ec391f66e2e9..ff1f0d222f0e8 100644 --- a/apps/settings/lib/AppInfo/Application.php +++ b/apps/settings/lib/AppInfo/Application.php @@ -49,7 +49,6 @@ use OCA\Settings\SetupChecks\LegacySSEKeyFormat; use OCA\Settings\SetupChecks\MaintenanceWindowStart; use OCA\Settings\SetupChecks\MemcacheConfigured; -use OCA\Settings\SetupChecks\MemcacheLegacy; use OCA\Settings\SetupChecks\MimeTypeMigrationAvailable; use OCA\Settings\SetupChecks\MysqlRowFormat; use OCA\Settings\SetupChecks\MysqlUnicodeSupport; @@ -195,7 +194,6 @@ public function register(IRegistrationContext $context): void { $context->registerSetupCheck(LegacySSEKeyFormat::class); $context->registerSetupCheck(MaintenanceWindowStart::class); $context->registerSetupCheck(MemcacheConfigured::class); - $context->registerSetupCheck(MemcacheLegacy::class); $context->registerSetupCheck(MimeTypeMigrationAvailable::class); $context->registerSetupCheck(MysqlRowFormat::class); $context->registerSetupCheck(MysqlUnicodeSupport::class); diff --git a/apps/settings/lib/SetupChecks/MemcacheLegacy.php b/apps/settings/lib/SetupChecks/MemcacheLegacy.php deleted file mode 100644 index 753bc2ad5c739..0000000000000 --- a/apps/settings/lib/SetupChecks/MemcacheLegacy.php +++ /dev/null @@ -1,59 +0,0 @@ -l10n->t('Redis cache'); - } - - #[\Override] - public function getCategory(): string { - return 'system'; - } - - #[\Override] - public function run(): SetupResult { - if ($this->isLegacyRedisUsed()) { - return SetupResult::info( - $this->l10n->t('You are still using the old Redis cache backend. For full support of latest Valkey and Redis features, like clustering and sentinel, please switch to the new KeyValueCache backend.'), - $this->urlGenerator->linkToDocs('admin-cache') - ); - } else { - return SetupResult::success($this->l10n->t('No legacy Redis cache detected')); - } - } - - protected function isLegacyRedisUsed(): bool { - $memcacheDistributedClass = $this->config->getSystemValue('memcache.distributed', null); - $memcacheLockingClass = $this->config->getSystemValue('memcache.locking', null); - - /** @psalm-suppress DeprecatedClass */ - if ($memcacheDistributedClass === Redis::class || $memcacheLockingClass === Redis::class) { - return true; - } - return false; - } -} diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml index efa021309ae09..a4694e6153dcc 100644 --- a/build/psalm-baseline.xml +++ b/build/psalm-baseline.xml @@ -3002,11 +3002,6 @@ timeFactory->getTime()]]> - - - - - diff --git a/config/config.sample.php b/config/config.sample.php index 55ceb784df971..19e5e7f3d0300 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -1795,9 +1795,16 @@ * Connection details for the Key-Value store used for in-memory caching, * for example when using Valkey or Redis. * - * This is the brand-independent successor of the ``redis`` and - * ``redis.cluster`` options below and supports the latest Valkey and Redis - * releases. Three topologies are supported: + * This is the brand-independent version of the ``redis`` and + * ``redis.cluster`` options below without depending on ``php-redis`` + * meaning no additional PHP extension needs to be installed. + * Redis and Valkey 4.0 up to 8.0 are supported, for SSL support Redis v6 or higher is required, + * Valkey 9 is supported but without support for numbered databased when using cluster mode. + * + * Warning: If the cache server is not hosted on the same machine as Nextcloud, + * this can have a network overhead compared to the ``php-redis`` based backend below. + * + * Three topologies are supported: * a single server, a Sentinel managed replication set, and a * server cluster. Configure exactly one of ``server``, ``sentinel`` or * ``seeds``. @@ -1881,8 +1888,6 @@ * * We also support Redis SSL/TLS encryption as of version 6. * See https://redis.io/topics/encryption for more information. - * - * @deprecated 34.0.0 use `memcache.kvstore` instead which supports also Valkey. */ 'redis' => [ 'host' => 'localhost', // can also be a Unix domain socket: '/tmp/redis.sock' @@ -1922,8 +1927,6 @@ * * Authentication works with phpredis version 4.2.1+. See * https://github.com/phpredis/phpredis/commit/c5994f2a42b8a348af92d3acb4edff1328ad8ce1 - * - * @deprecated 34.0.0 use `memcache.kvstore` instead which supports also Valkey. */ 'redis.cluster' => [ 'seeds' => [ // provide some or all of the cluster servers to bootstrap discovery, port required diff --git a/lib/private/Memcache/Redis.php b/lib/private/Memcache/Redis.php index 4f44197e233c7..b3d41a6717963 100644 --- a/lib/private/Memcache/Redis.php +++ b/lib/private/Memcache/Redis.php @@ -12,12 +12,6 @@ use OCP\IMemcacheTTL; use OCP\Server; -/** - * @deprecated 34.0.2 Legacy phpredis based backend. Kept so existing `redis` - * and `redis.cluster` configurations keep working. New setups should - * use {@see KeyValueCache} with the `memcache.kvstore` configuration, - * which also supports Valkey. - */ class Redis extends Cache implements IMemcacheTTL { /** name => [script, sha1] */ public const LUA_SCRIPTS = [ diff --git a/lib/private/RedisFactory.php b/lib/private/RedisFactory.php index b867e4e6aa52f..722c356d9d879 100644 --- a/lib/private/RedisFactory.php +++ b/lib/private/RedisFactory.php @@ -10,9 +10,6 @@ use OCP\Diagnostics\IEventLogger; -/** - * @deprecated 34.0.2 - use {@see \OC\Memcache\KeyValueCacheFactory} instead - */ class RedisFactory { public const REDIS_MINIMAL_VERSION = '4.0.0'; public const REDIS_EXTRA_PARAMETERS_MINIMAL_VERSION = '5.3.0';