@@ -186,6 +186,93 @@ Useful when running with [docker](../installation/installation.mdx#docker) so th
186186
187187</details >
188188
189+ #### Caching
190+
191+ Multi-scrobbler can cache some of its data for the purpose of ** persisting queued and dead scrobbles** after restarting.
192+
193+ It supports caching using either:
194+
195+ * ** File** cache stored in the ` CONFIG_DIR ` directory (next to your File/[ AIO] ( ./?configType=aio#configuration-types ) file)
196+ * [ ** Valkey** ] ( https://valkey.io/ ) , an open-source fork of Redis.
197+
198+ ** File** caching is ** enabled by default** when no other configuration is present.
199+
200+ The type of cache used, and it's connection properties, can be configured through ENV or ** AIO** config.
201+
202+ ##### Caching Configuration
203+
204+ <Tabs groupId = " cache" queryString >
205+
206+ <TabItem value = " file" label = " File" >
207+
208+ ** File** cache is stored in the ` CONFIG_DIR ` directory using the pre-defined file name ` ms-scrobble.cache ` .
209+
210+ It is ** enabled by default** if ` CACHE_SCROBBLE ` , or the respective AIO configuration, is not defined.
211+
212+ <Tabs groupId = " configType" queryString >
213+
214+ <TabItem value = " env" label = " ENV" >
215+
216+ | Environmental Variable | Required? | Default | Description |
217+ | :--------------------- | --------- | -------------------- | ------------------------------------------------------------ |
218+ | ` CACHE_SCROBBLE ` | No | ` file ` | The cache type to use |
219+ | ` CACHE_SCROBBLE_CONN ` | No | The config directory | The directory, within the container, to store the cache file |
220+
221+ </TabItem >
222+
223+ <TabItem value = " aio" label = " AIO" >
224+
225+ ``` json5 title="config.json"
226+ {
227+ " cache" : {
228+ " scrobble" : {
229+ " provider" : " file" ,
230+ " connection" : " /config"
231+ }
232+ },
233+ // ...
234+ }
235+ ```
236+
237+ </TabItem >
238+
239+ </Tabs >
240+ </TabItem >
241+
242+ <TabItem value = " valkey" label = " Valkey" >
243+
244+ <Tabs groupId = " configType" queryString >
245+
246+ <TabItem value = " env" label = " ENV" >
247+
248+ | Environmental Variable | Required? | Default | Description |
249+ | :--------------------- | --------- | -------------------- | ------------------------------------------------------------ |
250+ | ` CACHE_SCROBBLE ` | Yes | ` valkey ` | The cache type to use |
251+ | ` CACHE_SCROBBLE_CONN ` | Yes | | The host/IP and port to connect to, prefixed with ` redis:// ` -- EX: ` redis://192.168.0.120:6379 ` |
252+
253+ </TabItem >
254+
255+ <TabItem value = " aio" label = " AIO" >
256+
257+ ``` json5 title="config.json"
258+ {
259+ " cache" : {
260+ " scrobble" : {
261+ " provider" : " valkey" ,
262+ " connection" : " redis://192.168.0.120:6379"
263+ }
264+ },
265+ // ...
266+ }
267+ ```
268+
269+ </TabItem >
270+
271+ </Tabs >
272+ </TabItem >
273+
274+ </Tabs >
275+
189276#### Debug Mode
190277
191278Turning on Debug Mode will
0 commit comments