[PR #13605] [MERGED] Implement limiting caches #13643

Closed
opened 2026-02-07 07:16:40 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/13605
Author: @crobibero
Created: 2/22/2025
Status: Merged
Merged: 3/28/2025
Merged by: @crobibero

Base: masterHead: cache


📝 Commits (10+)

  • 57be836 Implement basic expiring cache for LibraryManager
  • 410de3a Merge branch 'master' into cache
  • 06e26b5 Add expiring cache to more places
  • 52f0890 Rider why
  • 1c95014 Make DirectoryService caches static
  • c0f0f5a Merge branch 'refs/heads/master' into cache
  • 9bdfeae Use FastConcurrentLru
  • 7859bf9 Reduce default cache size
  • 925f8e6 Simplify DirectoryService caches
  • 26d449d Make directory service cache size at least 128

📊 Changes

8 files changed (+37 additions, -31 deletions)

View changed files

📝 Directory.Packages.props (+2 -1)
📝 Emby.Server.Implementations/Emby.Server.Implementations.csproj (+1 -0)
📝 Emby.Server.Implementations/Library/LibraryManager.cs (+10 -9)
📝 Emby.Server.Implementations/Library/UserDataManager.cs (+6 -8)
📝 MediaBrowser.Controller/MediaBrowser.Controller.csproj (+1 -0)
📝 MediaBrowser.Controller/Providers/DirectoryService.cs (+8 -9)
📝 MediaBrowser.Model/Configuration/ServerConfiguration.cs (+5 -0)
📝 tests/Jellyfin.Controller.Tests/DirectoryServiceTests.cs (+4 -4)

📄 Description

Simple POC to see what shakes out

I looked at FusionCache also but that library seems to be way more functionality then we can use at the moment.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/13605 **Author:** [@crobibero](https://github.com/crobibero) **Created:** 2/22/2025 **Status:** ✅ Merged **Merged:** 3/28/2025 **Merged by:** [@crobibero](https://github.com/crobibero) **Base:** `master` ← **Head:** `cache` --- ### 📝 Commits (10+) - [`57be836`](https://github.com/jellyfin/jellyfin/commit/57be8366acb282a84351044adb0f3338a3a12336) Implement basic expiring cache for LibraryManager - [`410de3a`](https://github.com/jellyfin/jellyfin/commit/410de3abbe0e16e8c3743fc122b2fe8b64fbaf99) Merge branch 'master' into cache - [`06e26b5`](https://github.com/jellyfin/jellyfin/commit/06e26b5042aa80baacb2421ef57570257dbe22f9) Add expiring cache to more places - [`52f0890`](https://github.com/jellyfin/jellyfin/commit/52f0890c7a287b7e28460229dea6d4e298a6759a) Rider why - [`1c95014`](https://github.com/jellyfin/jellyfin/commit/1c95014c23df351e0d8736e0a2201a0bc7a7edff) Make DirectoryService caches static - [`c0f0f5a`](https://github.com/jellyfin/jellyfin/commit/c0f0f5a31886bff6dba54fa1cbe351fd1068f2f0) Merge branch 'refs/heads/master' into cache - [`9bdfeae`](https://github.com/jellyfin/jellyfin/commit/9bdfeae1249e415311fbb944fd7ee2bd505b8586) Use FastConcurrentLru - [`7859bf9`](https://github.com/jellyfin/jellyfin/commit/7859bf98661cc116a25d8c8f7ff7c695310e06b8) Reduce default cache size - [`925f8e6`](https://github.com/jellyfin/jellyfin/commit/925f8e69b1e481b227b31a3f1d5444a10c5f3132) Simplify DirectoryService caches - [`26d449d`](https://github.com/jellyfin/jellyfin/commit/26d449d85bb664754b2dd1946d68a43b960b9581) Make directory service cache size at least 128 ### 📊 Changes **8 files changed** (+37 additions, -31 deletions) <details> <summary>View changed files</summary> 📝 `Directory.Packages.props` (+2 -1) 📝 `Emby.Server.Implementations/Emby.Server.Implementations.csproj` (+1 -0) 📝 `Emby.Server.Implementations/Library/LibraryManager.cs` (+10 -9) 📝 `Emby.Server.Implementations/Library/UserDataManager.cs` (+6 -8) 📝 `MediaBrowser.Controller/MediaBrowser.Controller.csproj` (+1 -0) 📝 `MediaBrowser.Controller/Providers/DirectoryService.cs` (+8 -9) 📝 `MediaBrowser.Model/Configuration/ServerConfiguration.cs` (+5 -0) 📝 `tests/Jellyfin.Controller.Tests/DirectoryServiceTests.cs` (+4 -4) </details> ### 📄 Description Simple POC to see what shakes out I looked at [FusionCache](https://github.com/ZiggyCreatures/FusionCache) also but that library seems to be way more functionality then we can use at the moment. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 07:16:40 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#13643