1 of 2

Japt, 46 bytes

One of the first times I've tried using Japt. The JS eval can be fidgety sometimes. Uses the browser's window.localStorage. Replace the bold exclamation points with 0x92 characters, SE seems to gobble them up.

Store (24 bytes)

Ox`lo¯lSÈSge.setI!m(P,U)

Retrieve (22 bytes)

Ox`lo¯lSÈSge.getI!m(P)