Atomically sets key to value and returns the value previously stored at key.
|the key to get and set
|string, number, or boolean
|the value to set
|On success, the promise resolves with the old value stored at key.
|If key does not exist, or does not hold a string value, the promise is rejected with an error.