Software / code / prosody-modules
Annotate
mod_storage_multi/README.md @ 6320:ebcf612da2b1
mod_http_oauth2: Use numeric for loop instead of ipairs
Pedantic attempted optimization, reducing function calls.
I didn't even measure, only vaguely recall that this is faster in PUC Lua.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 03 Jul 2025 12:14:53 +0200 |
| parent | 6003:fe081789f7b5 |
| rev | line source |
|---|---|
| 1886 | 1 --- |
| 2 summary: Multi-backend storage module (WIP) | |
| 3 labels: | |
| 4 - NeedDocs | |
|
1887
a7fdab9c14e2
mod_storage_multi: Put in Alpha stage
Kim Alvefur <zash@zash.se>
parents:
1886
diff
changeset
|
5 - Stage-Alpha |
| 1886 | 6 ... |
| 7 | |
| 8 Introduction | |
| 9 ============ | |
| 10 | |
| 11 This module attemtps to provide a storage driver that is really multiple | |
| 12 storage drivers. This could be used for storage error tolerance or | |
| 13 caching of data in a faster storage driver. | |
| 14 | |
| 15 Configuration | |
| 16 ============= | |
| 17 | |
| 18 An example: | |
| 19 | |
| 20 ``` {.lua} | |
| 21 storage = "multi" | |
| 22 storage_multi_policy = "all" | |
| 23 storage_multi = { | |
| 24 "memory", | |
| 25 "internal", | |
| 26 "sql" | |
| 27 } | |
| 28 ``` | |
| 29 | |
| 30 Here data would be first read from or written to [mod\_storage\_memory], | |
| 31 then internal storage, then SQL storage. For reads, the first successful | |
| 32 read will be used. For writes, it depends on the `storage_multi_policy` | |
| 33 option. If set to `"all"`, then all storage backends must report success | |
| 34 for the write to be considered successful. Other options are `"one"` and | |
| 35 `"majority"`. |