Hello,
I am considering writing a cache backend for Django based on a recent Couchbase SDK (2.0+).
While it is quite straightforward to write, I would like to know what is expected from a cache backend when errors happen.
With my experience using the python-memcached backend, my understanding is that:
* On read operations, any errors result in a "None" return value (as if the value was not found);
* On write operations, errors are silenced, with one exception;
* On an "add" operation, if e.g. a network error has happened, "0" is returned instead of "False". That lets a client make a distinction between such errors and the key already existing.
Is that understanding accurate? In particular, is the third point contractual?
Thank you in advance.