KV Server
Key-Value storage server for persistent data storage
Key-Value storage server for persistent data storage with support for in-memory and file-based backends.
modules::kv_server::KvServerSample Configuration
- class: modules::kv_server::KvServer
config:
store_method: file_based
file_path: ./data/kv_store
save_interval_ms: 5000Configuration
The storage method to use. Options are: - in_memory - Data is stored only in memory (lost on restart) - file_based
- Data is stored in memory and periodically persisted to disk (survives restart)
The directory path where data files will be stored when using file_based storage method. Each index is stored as a
separate file within this directory.
The interval in milliseconds between automatic saves when using file_based storage. Defaults to 5000.
Functions
Usage Examples
Basic Key-Value Operations
import { bridge } from 'iii'
// Set a value
await bridge.invoke('kv_server.set', {
index: 'default',
key: 'user:123',
value: { name: 'John', email: 'john@example.com' },
})
// Get a value
const user = await bridge.invoke('kv_server.get', {
index: 'default',
key: 'user:123',
})
console.log(user) // { name: 'John', email: 'john@example.com' }
// Delete a value
await bridge.invoke('kv_server.delete', {
index: 'default',
key: 'user:123',
})Listing Keys with Prefix
// Store some users
await bridge.invoke('kv_server.set', { index: 'default', key: 'user:1', value: { name: 'Alice' } })
await bridge.invoke('kv_server.set', { index: 'default', key: 'user:2', value: { name: 'Bob' } })
await bridge.invoke('kv_server.set', { index: 'default', key: 'product:1', value: { name: 'Widget' } })
// List all user keys
const userKeys = await bridge.invoke('kv_server.list_keys_with_prefix', {
prefix: 'user:',
})
console.log(userKeys) // ['user:1', 'user:2']