Skip to content

feat: KV cache based on predis#61690

Open
susnux wants to merge 2 commits into
masterfrom
feat/valkey
Open

feat: KV cache based on predis#61690
susnux wants to merge 2 commits into
masterfrom
feat/valkey

Conversation

@susnux

@susnux susnux commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Implemented a new memcache implementation based on predis which does not require any PHP modules to be installed but instead relies on the pure PHP library predis.

This adds support for recent releases of Redis and Valkey (e.g. v8 or v9).
Some features are still missing (numbered databases in clusters) but this will be added soon by predis.

AI was used for documentation texts of config example and test generation.

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

@susnux susnux added this to the Nextcloud 35 milestone Jul 1, 2026
@susnux susnux added the 2. developing Work in progress label Jul 1, 2026
@susnux susnux added enhancement feature: caching Related to our caching system: scssCacher, jsCombiner... labels Jul 1, 2026
Comment thread lib/private/RedisFactory.php Outdated
Comment thread config/config.sample.php Outdated
@susnux susnux marked this pull request as ready for review July 1, 2026 15:25
@susnux susnux requested a review from a team as a code owner July 1, 2026 15:25
@susnux susnux requested review from Altahrim, ArtificialOwl, icewind1991 and leftybournes and removed request for a team July 1, 2026 15:25
@susnux susnux added 3. to review Waiting for reviews and removed 2. developing Work in progress labels Jul 1, 2026
Comment thread lib/private/Memcache/KeyValueCache.php Outdated
Comment thread lib/private/Memcache/KeyValueCache.php
Comment thread lib/private/Memcache/KeyValueCache.php
Comment thread lib/private/Memcache/KeyValueCache.php Outdated
Comment thread lib/private/Memcache/KeyValueCache.php Outdated
Comment thread lib/private/Memcache/KeyValueCacheFactory.php Outdated
Comment on lines +183 to +184
// A leading slash indicates a Unix domain socket
$protocol = ($host !== '' && $host[0] === '/') ? 'unix' : 'tcp';

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The socket could be at a relative path, no?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, to what would it be relative?
The config files? The PHP file? The nextcloud root?

Comment thread lib/private/Memcache/Redis.php Outdated
Comment thread lib/private/RedisFactory.php Outdated
Comment thread lib/private/Memcache/Redis.php Outdated
susnux and others added 2 commits July 2, 2026 11:48
Assisted-by: ClaudeCode:claude-opus-4-8
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews enhancement feature: caching Related to our caching system: scssCacher, jsCombiner...

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants