// Multi-Instance OSIRIS Example // Demonstrates using multiple OSIRIS instances in a single script print("=== Multi-Instance OSIRIS Test ===\n"); // Create two OSIRIS instances print("Creating OSIRIS instances..."); let freezone = osiris("freezone", "redis://localhost:6379", 1); let my_osiris = osiris("my_osiris", "redis://localhost:6379", 2); print(`✓ Created: ${freezone.name()}`); print(`✓ Created: ${my_osiris.name()}\n`); // Create a note print("Creating note..."); let my_note = note("shared_notes") .title("Multi-Instance Test Note") .content("This note will be stored in both OSIRIS instances!") .tag("test", "multi-instance") .tag("shared", "true"); print(`Note created: ${my_note.get_title()}\n`); // Store in freezone instance print("Storing in freezone..."); let freezone_id = freezone.put_note(my_note); print(`✓ Stored in freezone with ID: ${freezone_id}\n`); // Store in my_osiris instance (same note, different storage) print("Storing in my_osiris..."); let my_id = my_osiris.put_note(my_note); print(`✓ Stored in my_osiris with ID: ${my_id}\n`); // Retrieve from freezone print("Retrieving from freezone..."); let freezone_note = freezone.get_note("shared_notes", freezone_id); print(`✓ Retrieved from freezone: ${freezone_note.get_title()}\n`); // Retrieve from my_osiris print("Retrieving from my_osiris..."); let my_note_retrieved = my_osiris.get_note("shared_notes", my_id); print(`✓ Retrieved from my_osiris: ${my_note_retrieved.get_title()}\n`); // Query both instances print("Querying freezone..."); let freezone_ids = freezone.query("shared_notes", "tags:tag", "shared=true"); print(`✓ Found in freezone:`); for id in freezone_ids { print(` - ${id}`); } print(""); print("Querying my_osiris..."); let my_ids = my_osiris.query("shared_notes", "tags:tag", "shared=true"); print(`✓ Found in my_osiris:`); for id in my_ids { print(` - ${id}`); } print("\n=== Test Complete ==="); print("Successfully demonstrated multi-instance OSIRIS!");