diff --git a/fakenewsredis.py b/fakenewsredis.py
index 6e8fdcc..79930f1 100644
--- a/fakenewsredis.py
+++ b/fakenewsredis.py
@@ -142,6 +142,18 @@ class _StrKeyDict(MutableMapping):
         value = self._dict[to_bytes(key)][0]
         self._dict[to_bytes(key)] = (value, timestamp)
 
+    def setx(self, key, value, src=None):
+        """Set a value, keeping the existing expiry time if any. If
+        `src` is specified, it is used as the source of the expiry
+        """
+        if src is None:
+            src = key
+        try:
+            _, expiration = self._dict[to_bytes(src)]
+        except KeyError:
+            expiration = None
+        self._dict[to_bytes(key)] = (value, expiration)
+
     def persist(self, key):
         try:
             value, _ = self._dict[to_bytes(key)]
@@ -294,11 +306,12 @@ class FakeStrictRedis(object):
 
     def decr(self, name, amount=1):
         try:
-            self._db[name] = to_bytes(int(self._get_string(name, b'0')) - amount)
+            value = int(self._get_string(name, b'0')) - amount
+            self._db.setx(name, to_bytes(value))
         except (TypeError, ValueError):
             raise redis.ResponseError("value is not an integer or out of "
                                       "range.")
-        return int(self._db[name])
+        return value
 
     def exists(self, name):
         return name in self._db
@@ -381,11 +394,12 @@ class FakeStrictRedis(object):
             if not isinstance(amount, int):
                 raise redis.ResponseError("value is not an integer or out "
                                           "of range.")
-            self._db[name] = to_bytes(int(self._get_string(name, b'0')) + amount)
+            value = int(self._get_string(name, b'0')) + amount
+            self._db.setx(name, to_bytes(value))
         except (TypeError, ValueError):
             raise redis.ResponseError("value is not an integer or out of "
                                       "range.")
-        return int(self._db[name])
+        return value
 
     def incrby(self, name, amount=1):
         """
@@ -395,10 +409,11 @@ class FakeStrictRedis(object):
 
     def incrbyfloat(self, name, amount=1.0):
         try:
-            self._db[name] = to_bytes(float(self._get_string(name, b'0')) + amount)
+            value = float(self._get_string(name, b'0')) + amount
+            self._db.setx(name, to_bytes(value))
         except (TypeError, ValueError):
             raise redis.ResponseError("value is not a valid float.")
-        return float(self._db[name])
+        return value
 
     def keys(self, pattern=None):
         return [key for key in self._db
@@ -457,7 +472,7 @@ class FakeStrictRedis(object):
             value = self._db[src]
         except KeyError:
             raise redis.ResponseError("No such key: %s" % src)
-        self._db[dst] = value
+        self._db.setx(dst, value, src=src)
         del self._db[src]
         return True
 
@@ -512,7 +527,7 @@ class FakeStrictRedis(object):
             new_byte = byte_to_int(val[byte]) ^ (1 << actual_bitoffset)
         reconstructed = bytearray(val)
         reconstructed[byte] = new_byte
-        self._db[name] = bytes(reconstructed)
+        self._db.setx(name, bytes(reconstructed))
 
     def setex(self, name, time, value):
         if isinstance(time, timedelta):
@@ -541,7 +556,7 @@ class FakeStrictRedis(object):
         if len(val) < offset:
             val += b'\x00' * (offset - len(val))
         val = val[0:offset] + to_bytes(value) + val[offset+len(value):]
-        self.set(name, val)
+        self._db.setx(name, val)
         return len(val)
 
     def strlen(self, name):
@@ -800,7 +815,7 @@ class FakeStrictRedis(object):
                 end = None
             else:
                 end += 1
-            self._db[name] = val[start:end]
+            self._db.setx(name, val[start:end])
         return True
 
     def lindex(self, name, index):
@@ -843,7 +858,7 @@ class FakeStrictRedis(object):
         if el is not None:
             el = to_bytes(el)
             dst_list.insert(0, el)
-            self._db[dst] = dst_list
+            self._db.setx(dst, dst_list)
         return el
 
     def blpop(self, keys, timeout=0):

diff --git a/test_fakenewsredis.py b/test_fakenewsredis.py
index d60751f..064d24f 100644
--- a/test_fakenewsredis.py
+++ b/test_fakenewsredis.py
@@ -201,6 +201,11 @@ class TestFakeStrictRedis(unittest.TestCase):
         with self.assertRaises(redis.ResponseError):
             self.redis.setbit('foo', 0, 1)
 
+    def test_setbit_expiry(self):
+        self.redis.set('foo', b'0x00', ex=10)
+        self.redis.setbit('foo', 1, 1)
+        self.assertGreater(self.redis.ttl('foo'), 0)
+
     def test_bitcount(self):
         self.redis.delete('foo')
         self.assertEqual(self.redis.bitcount('foo'), 0)
@@ -296,6 +301,11 @@ class TestFakeStrictRedis(unittest.TestCase):
         self.assertEqual(self.redis.incr('foo', 5), 20)
         self.assertEqual(self.redis.get('foo'), b'20')
 
+    def test_incr_expiry(self):
+        self.redis.set('foo', 15, ex=10)
+        self.redis.incr('foo', 5)
+        self.assertGreater(self.redis.ttl('foo'), 0)
+
     def test_incr_bad_type(self):
         self.redis.set('foo', 'bar')
         with self.assertRaises(redis.ResponseError):
@@ -326,6 +336,11 @@ class TestFakeStrictRedis(unittest.TestCase):
         self.assertEqual(self.redis.incrbyfloat('foo', 1.0), 1.0)
         self.assertEqual(self.redis.incrbyfloat('foo', 1.0), 2.0)
 
+    def test_incrbyfloat_expiry(self):
+        self.redis.set('foo', 1.5, ex=10)
+        self.redis.incrbyfloat('foo', 2.5)
+        self.assertGreater(self.redis.ttl('foo'), 0)
+
     def test_incrbyfloat_bad_type(self):
         self.redis.set('foo', 'bar')
         with self.assertRaisesRegexp(redis.ResponseError, 'not a valid float'):
@@ -348,6 +363,11 @@ class TestFakeStrictRedis(unittest.TestCase):
         self.redis.decr('foo')
         self.assertEqual(self.redis.get('foo'), b'-1')
 
+    def test_decr_expiry(self):
+        self.redis.set('foo', 10, ex=10)
+        self.redis.decr('foo', 5)
+        self.assertGreater(self.redis.ttl('foo'), 0)
+
     def test_decr_badtype(self):
         self.redis.set('foo', 'bar')
         with self.assertRaises(redis.ResponseError):
@@ -389,6 +409,12 @@ class TestFakeStrictRedis(unittest.TestCase):
         self.assertEqual(self.redis.get('foo'), b'unique value')
         self.assertEqual(self.redis.get('bar'), b'unique value2')
 
+    def test_rename_expiry(self):
+        self.redis.set('foo', 'value1', ex=10)
+        self.redis.set('bar', 'value2')
+        self.redis.rename('foo', 'bar')
+        self.assertGreater(self.redis.ttl('bar'), 0)
+
     def test_mget(self):
         self.redis.set('foo', 'one')
         self.redis.set('bar', 'two')
@@ -743,6 +769,12 @@ class TestFakeStrictRedis(unittest.TestCase):
     def test_ltrim_with_non_existent_key(self):
         self.assertTrue(self.redis.ltrim('foo', 0, -1))
 
+    def test_ltrim_expiry(self):
+        self.redis.rpush('foo', 'one', 'two', 'three')
+        self.redis.expire('foo', 10)
+        self.redis.ltrim('foo', 1, 2)
+        self.assertGreater(self.redis.ttl('foo'), 0)
+
     def test_ltrim_wrong_type(self):
         self.redis.set('foo', 'bar')
         with self.assertRaises(redis.ResponseError):
@@ -834,6 +866,13 @@ class TestFakeStrictRedis(unittest.TestCase):
         self.assertEqual(self.redis.rpoplpush('foo', 'bar'), b'one')
         self.assertEqual(self.redis.rpop('bar'), b'one')
 
+    def test_rpoplpush_expiry(self):
+        self.redis.rpush('foo', 'one')
+        self.redis.rpush('bar', 'two')
+        self.redis.expire('bar', 10)
+        self.redis.rpoplpush('foo', 'bar')
+        self.assertGreater(self.redis.ttl('bar'), 0)
+
     def test_rpoplpush_wrong_type(self):
         self.redis.set('foo', 'bar')
         self.redis.rpush('list', 'element')
@@ -1273,6 +1312,11 @@ class TestFakeStrictRedis(unittest.TestCase):
         self.assertEqual(self.redis.setrange('bar', 2, 'test'), 6)
         self.assertEqual(self.redis.get('bar'), b'\x00\x00test')
 
+    def test_setrange_expiry(self):
+        self.redis.set('foo', 'test', ex=10)
+        self.redis.setrange('foo', 1, 'aste')
+        self.assertGreater(self.redis.ttl('foo'), 0)
+
     def test_sinter(self):
         self.redis.sadd('foo', 'member1')
         self.redis.sadd('foo', 'member2')

Mutating operations incorrectly clear expiry
A number of operations modify an existing value, then assign back to `self._db`, which has the side-effect of clearing the expiry time. According to the redis documentation, only operations that completely replace a key (rather than modifying it) clear the expiry. I haven't written any tests yet, but looking at the code, it is probably at least
- decr, incr, incrby, incrbyfloat
- setbit
- ltrim
- rpoplpush

Some other operations where I'm not sure what redis will do
- getset
- rename, renamenx
test_fakenewsredis.py::TestFakeStrictRedis::test_decr_expiry test_fakenewsredis.py::TestFakeStrictRedis::test_incr_expiry test_fakenewsredis.py::TestFakeStrictRedis::test_incrbyfloat_expiry test_fakenewsredis.py::TestFakeStrictRedis::test_ltrim_expiry test_fakenewsredis.py::TestFakeStrictRedis::test_rename_expiry test_fakenewsredis.py::TestFakeStrictRedis::test_rpoplpush_expiry test_fakenewsredis.py::TestFakeStrictRedis::test_setbit_expiry test_fakenewsredis.py::TestFakeStrictRedis::test_setrange_expiry test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_decr_expiry test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incr_expiry test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incrbyfloat_expiry test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_ltrim_expiry test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rename_expiry test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpoplpush_expiry test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setbit_expiry test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setrange_expiry
test_fakenewsredis.py::TestFakeStrictRedis::test_append test_fakenewsredis.py::TestFakeStrictRedis::test_append_with_no_preexisting_key test_fakenewsredis.py::TestFakeStrictRedis::test_append_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_basic_sort test_fakenewsredis.py::TestFakeStrictRedis::test_bitcount test_fakenewsredis.py::TestFakeStrictRedis::test_bitcount_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_blocking_operations_when_empty test_fakenewsredis.py::TestFakeStrictRedis::test_blpop_allow_single_key test_fakenewsredis.py::TestFakeStrictRedis::test_blpop_single_list test_fakenewsredis.py::TestFakeStrictRedis::test_blpop_test_multiple_lists test_fakenewsredis.py::TestFakeStrictRedis::test_blpop_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_brpop_single_key test_fakenewsredis.py::TestFakeStrictRedis::test_brpop_test_multiple_lists test_fakenewsredis.py::TestFakeStrictRedis::test_brpop_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_brpoplpush_multi_keys test_fakenewsredis.py::TestFakeStrictRedis::test_brpoplpush_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_contains test_fakenewsredis.py::TestFakeStrictRedis::test_decr test_fakenewsredis.py::TestFakeStrictRedis::test_decr_badtype test_fakenewsredis.py::TestFakeStrictRedis::test_decr_newkey test_fakenewsredis.py::TestFakeStrictRedis::test_delete test_fakenewsredis.py::TestFakeStrictRedis::test_delete_expire test_fakenewsredis.py::TestFakeStrictRedis::test_delete_multiple test_fakenewsredis.py::TestFakeStrictRedis::test_delete_nonexistent_key test_fakenewsredis.py::TestFakeStrictRedis::test_echo test_fakenewsredis.py::TestFakeStrictRedis::test_empty_sort test_fakenewsredis.py::TestFakeStrictRedis::test_exists test_fakenewsredis.py::TestFakeStrictRedis::test_flushdb test_fakenewsredis.py::TestFakeStrictRedis::test_foo test_fakenewsredis.py::TestFakeStrictRedis::test_get_does_not_exist test_fakenewsredis.py::TestFakeStrictRedis::test_get_invalid_type test_fakenewsredis.py::TestFakeStrictRedis::test_get_with_non_str_keys test_fakenewsredis.py::TestFakeStrictRedis::test_getbit test_fakenewsredis.py::TestFakeStrictRedis::test_getbit_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_getset_exists test_fakenewsredis.py::TestFakeStrictRedis::test_getset_not_exist test_fakenewsredis.py::TestFakeStrictRedis::test_getset_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hdel test_fakenewsredis.py::TestFakeStrictRedis::test_hdel_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hexists test_fakenewsredis.py::TestFakeStrictRedis::test_hexists_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hgetall test_fakenewsredis.py::TestFakeStrictRedis::test_hgetall_empty_key test_fakenewsredis.py::TestFakeStrictRedis::test_hgetall_with_tuples test_fakenewsredis.py::TestFakeStrictRedis::test_hgetall_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hincrby test_fakenewsredis.py::TestFakeStrictRedis::test_hincrby_with_no_starting_value test_fakenewsredis.py::TestFakeStrictRedis::test_hincrby_with_range_param test_fakenewsredis.py::TestFakeStrictRedis::test_hincrby_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hincrbyfloat test_fakenewsredis.py::TestFakeStrictRedis::test_hincrbyfloat_on_non_float_value_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_hincrbyfloat_precision test_fakenewsredis.py::TestFakeStrictRedis::test_hincrbyfloat_with_no_starting_value test_fakenewsredis.py::TestFakeStrictRedis::test_hincrbyfloat_with_non_float_amount_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_hincrbyfloat_with_range_param test_fakenewsredis.py::TestFakeStrictRedis::test_hincrbyfloat_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hkeys test_fakenewsredis.py::TestFakeStrictRedis::test_hkeys_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hlen test_fakenewsredis.py::TestFakeStrictRedis::test_hlen_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hmget test_fakenewsredis.py::TestFakeStrictRedis::test_hmget_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hmset_convert_values test_fakenewsredis.py::TestFakeStrictRedis::test_hmset_does_not_mutate_input_params test_fakenewsredis.py::TestFakeStrictRedis::test_hmset_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hmsetset test_fakenewsredis.py::TestFakeStrictRedis::test_hmsetset_empty_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_hscan test_fakenewsredis.py::TestFakeStrictRedis::test_hset_then_hget test_fakenewsredis.py::TestFakeStrictRedis::test_hset_update test_fakenewsredis.py::TestFakeStrictRedis::test_hset_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_hsetnx test_fakenewsredis.py::TestFakeStrictRedis::test_hvals test_fakenewsredis.py::TestFakeStrictRedis::test_hvals_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_incr_bad_type test_fakenewsredis.py::TestFakeStrictRedis::test_incr_by test_fakenewsredis.py::TestFakeStrictRedis::test_incr_followed_by_mget test_fakenewsredis.py::TestFakeStrictRedis::test_incr_followed_by_mget_returns_strings test_fakenewsredis.py::TestFakeStrictRedis::test_incr_preexisting_key test_fakenewsredis.py::TestFakeStrictRedis::test_incr_with_float test_fakenewsredis.py::TestFakeStrictRedis::test_incr_with_no_preexisting_key test_fakenewsredis.py::TestFakeStrictRedis::test_incrbyfloat test_fakenewsredis.py::TestFakeStrictRedis::test_incrbyfloat_bad_type test_fakenewsredis.py::TestFakeStrictRedis::test_incrbyfloat_precision test_fakenewsredis.py::TestFakeStrictRedis::test_incrbyfloat_with_noexist test_fakenewsredis.py::TestFakeStrictRedis::test_key_patterns test_fakenewsredis.py::TestFakeStrictRedis::test_lindex test_fakenewsredis.py::TestFakeStrictRedis::test_lindex_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_linsert_after test_fakenewsredis.py::TestFakeStrictRedis::test_linsert_before test_fakenewsredis.py::TestFakeStrictRedis::test_linsert_no_pivot test_fakenewsredis.py::TestFakeStrictRedis::test_linsert_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_llen test_fakenewsredis.py::TestFakeStrictRedis::test_llen_no_exist test_fakenewsredis.py::TestFakeStrictRedis::test_llen_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_lpop test_fakenewsredis.py::TestFakeStrictRedis::test_lpop_empty_list test_fakenewsredis.py::TestFakeStrictRedis::test_lpop_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_lpush_key_does_not_exist test_fakenewsredis.py::TestFakeStrictRedis::test_lpush_then_lrange_all test_fakenewsredis.py::TestFakeStrictRedis::test_lpush_then_lrange_portion test_fakenewsredis.py::TestFakeStrictRedis::test_lpush_with_nonstr_key test_fakenewsredis.py::TestFakeStrictRedis::test_lpush_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_lpushx test_fakenewsredis.py::TestFakeStrictRedis::test_lpushx_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_lrem_default_value test_fakenewsredis.py::TestFakeStrictRedis::test_lrem_does_not_exist test_fakenewsredis.py::TestFakeStrictRedis::test_lrem_negative_count test_fakenewsredis.py::TestFakeStrictRedis::test_lrem_positive_count test_fakenewsredis.py::TestFakeStrictRedis::test_lrem_return_value test_fakenewsredis.py::TestFakeStrictRedis::test_lrem_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_lrem_zero_count test_fakenewsredis.py::TestFakeStrictRedis::test_lset test_fakenewsredis.py::TestFakeStrictRedis::test_lset_index_out_of_range test_fakenewsredis.py::TestFakeStrictRedis::test_lset_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_ltrim test_fakenewsredis.py::TestFakeStrictRedis::test_ltrim_with_non_existent_key test_fakenewsredis.py::TestFakeStrictRedis::test_ltrim_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_mget test_fakenewsredis.py::TestFakeStrictRedis::test_mget_mixed_types test_fakenewsredis.py::TestFakeStrictRedis::test_mget_with_no_keys_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_move_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_mset test_fakenewsredis.py::TestFakeStrictRedis::test_mset_accepts_kwargs test_fakenewsredis.py::TestFakeStrictRedis::test_mset_with_no_keys_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_msetnx test_fakenewsredis.py::TestFakeStrictRedis::test_multidb test_fakenewsredis.py::TestFakeStrictRedis::test_multiple_bits_set test_fakenewsredis.py::TestFakeStrictRedis::test_multiple_successful_watch_calls test_fakenewsredis.py::TestFakeStrictRedis::test_persist test_fakenewsredis.py::TestFakeStrictRedis::test_pfadd test_fakenewsredis.py::TestFakeStrictRedis::test_pfcount test_fakenewsredis.py::TestFakeStrictRedis::test_pfmerge test_fakenewsredis.py::TestFakeStrictRedis::test_ping test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline_ignore_errors test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline_non_transactional test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline_proxies_to_redis_object test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline_raises_when_watched_key_changed test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline_succeeds_despite_unwatched_key_changed test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline_succeeds_when_watching_nonexistent_key test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline_transaction_shortcut test_fakenewsredis.py::TestFakeStrictRedis::test_pipeline_transaction_value_from_callable test_fakenewsredis.py::TestFakeStrictRedis::test_pttl_should_return_minus_one_for_non_expiring_key test_fakenewsredis.py::TestFakeStrictRedis::test_pttl_should_return_minus_two_for_non_existent_key test_fakenewsredis.py::TestFakeStrictRedis::test_pubsub_binary_message test_fakenewsredis.py::TestFakeStrictRedis::test_pubsub_ignore_sub_messages_listen test_fakenewsredis.py::TestFakeStrictRedis::test_pubsub_listen test_fakenewsredis.py::TestFakeStrictRedis::test_pubsub_psubscribe test_fakenewsredis.py::TestFakeStrictRedis::test_pubsub_punsubscribe test_fakenewsredis.py::TestFakeStrictRedis::test_pubsub_subscribe test_fakenewsredis.py::TestFakeStrictRedis::test_pubsub_unsubscribe test_fakenewsredis.py::TestFakeStrictRedis::test_rename test_fakenewsredis.py::TestFakeStrictRedis::test_rename_does_exist test_fakenewsredis.py::TestFakeStrictRedis::test_rename_nonexistent_key test_fakenewsredis.py::TestFakeStrictRedis::test_renamenx_doesnt_exist test_fakenewsredis.py::TestFakeStrictRedis::test_rpop test_fakenewsredis.py::TestFakeStrictRedis::test_rpop_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_rpoplpush test_fakenewsredis.py::TestFakeStrictRedis::test_rpoplpush_to_nonexistent_destination test_fakenewsredis.py::TestFakeStrictRedis::test_rpoplpush_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_rpush test_fakenewsredis.py::TestFakeStrictRedis::test_rpush_then_lrange_with_nested_list1 test_fakenewsredis.py::TestFakeStrictRedis::test_rpush_then_lrange_with_nested_list2 test_fakenewsredis.py::TestFakeStrictRedis::test_rpush_then_lrange_with_nested_list3 test_fakenewsredis.py::TestFakeStrictRedis::test_rpush_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_rpushx test_fakenewsredis.py::TestFakeStrictRedis::test_rpushx_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_sadd test_fakenewsredis.py::TestFakeStrictRedis::test_sadd_as_str_type test_fakenewsredis.py::TestFakeStrictRedis::test_sadd_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_saving_non_ascii_chars_as_key test_fakenewsredis.py::TestFakeStrictRedis::test_saving_non_ascii_chars_as_value test_fakenewsredis.py::TestFakeStrictRedis::test_saving_unicode_type_as_key test_fakenewsredis.py::TestFakeStrictRedis::test_saving_unicode_type_as_value test_fakenewsredis.py::TestFakeStrictRedis::test_scan test_fakenewsredis.py::TestFakeStrictRedis::test_scan_all_in_single_call test_fakenewsredis.py::TestFakeStrictRedis::test_scan_iter_multiple_pages test_fakenewsredis.py::TestFakeStrictRedis::test_scan_iter_multiple_pages_with_match test_fakenewsredis.py::TestFakeStrictRedis::test_scan_iter_single_page test_fakenewsredis.py::TestFakeStrictRedis::test_scan_multiple_pages_with_count_arg test_fakenewsredis.py::TestFakeStrictRedis::test_scan_single test_fakenewsredis.py::TestFakeStrictRedis::test_scard test_fakenewsredis.py::TestFakeStrictRedis::test_scard_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_sdiff test_fakenewsredis.py::TestFakeStrictRedis::test_sdiff_empty test_fakenewsredis.py::TestFakeStrictRedis::test_sdiff_one_key test_fakenewsredis.py::TestFakeStrictRedis::test_sdiff_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_sdiffstore test_fakenewsredis.py::TestFakeStrictRedis::test_set_None_value test_fakenewsredis.py::TestFakeStrictRedis::test_set_ex test_fakenewsredis.py::TestFakeStrictRedis::test_set_ex_using_timedelta test_fakenewsredis.py::TestFakeStrictRedis::test_set_existing_key_persists test_fakenewsredis.py::TestFakeStrictRedis::test_set_float_value test_fakenewsredis.py::TestFakeStrictRedis::test_set_non_str_keys test_fakenewsredis.py::TestFakeStrictRedis::test_set_px test_fakenewsredis.py::TestFakeStrictRedis::test_set_px_using_timedelta test_fakenewsredis.py::TestFakeStrictRedis::test_set_raises_wrong_ex test_fakenewsredis.py::TestFakeStrictRedis::test_set_raises_wrong_px test_fakenewsredis.py::TestFakeStrictRedis::test_set_then_get test_fakenewsredis.py::TestFakeStrictRedis::test_set_using_timedelta_raises_wrong_ex test_fakenewsredis.py::TestFakeStrictRedis::test_set_using_timedelta_raises_wrong_px test_fakenewsredis.py::TestFakeStrictRedis::test_setbit_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_setbits_and_getkeys test_fakenewsredis.py::TestFakeStrictRedis::test_setex test_fakenewsredis.py::TestFakeStrictRedis::test_setex_raises_wrong_ex test_fakenewsredis.py::TestFakeStrictRedis::test_setex_using_float test_fakenewsredis.py::TestFakeStrictRedis::test_setex_using_timedelta test_fakenewsredis.py::TestFakeStrictRedis::test_setex_using_timedelta_raises_wrong_ex test_fakenewsredis.py::TestFakeStrictRedis::test_setitem_getitem test_fakenewsredis.py::TestFakeStrictRedis::test_setnx test_fakenewsredis.py::TestFakeStrictRedis::test_setrange test_fakenewsredis.py::TestFakeStrictRedis::test_sinter test_fakenewsredis.py::TestFakeStrictRedis::test_sinter_bytes_keys test_fakenewsredis.py::TestFakeStrictRedis::test_sinter_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_sinterstore test_fakenewsredis.py::TestFakeStrictRedis::test_sismember test_fakenewsredis.py::TestFakeStrictRedis::test_sismember_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_smembers test_fakenewsredis.py::TestFakeStrictRedis::test_smembers_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_smove test_fakenewsredis.py::TestFakeStrictRedis::test_smove_non_existent_key test_fakenewsredis.py::TestFakeStrictRedis::test_sort_alpha test_fakenewsredis.py::TestFakeStrictRedis::test_sort_descending test_fakenewsredis.py::TestFakeStrictRedis::test_sort_range_offset_norange test_fakenewsredis.py::TestFakeStrictRedis::test_sort_range_offset_range test_fakenewsredis.py::TestFakeStrictRedis::test_sort_range_offset_range_and_desc test_fakenewsredis.py::TestFakeStrictRedis::test_sort_range_with_large_range test_fakenewsredis.py::TestFakeStrictRedis::test_sort_with_by_and_get_option test_fakenewsredis.py::TestFakeStrictRedis::test_sort_with_hash test_fakenewsredis.py::TestFakeStrictRedis::test_sort_with_set test_fakenewsredis.py::TestFakeStrictRedis::test_sort_with_store_option test_fakenewsredis.py::TestFakeStrictRedis::test_sort_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_spop test_fakenewsredis.py::TestFakeStrictRedis::test_spop_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_srandmember test_fakenewsredis.py::TestFakeStrictRedis::test_srandmember_number test_fakenewsredis.py::TestFakeStrictRedis::test_srandmember_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_srem test_fakenewsredis.py::TestFakeStrictRedis::test_srem_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_sscan test_fakenewsredis.py::TestFakeStrictRedis::test_strlen test_fakenewsredis.py::TestFakeStrictRedis::test_strlen_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_substr test_fakenewsredis.py::TestFakeStrictRedis::test_substr_noexist_key test_fakenewsredis.py::TestFakeStrictRedis::test_substr_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_sunion test_fakenewsredis.py::TestFakeStrictRedis::test_sunion_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_sunionstore test_fakenewsredis.py::TestFakeStrictRedis::test_ttl_should_return_minus_one_for_non_expiring_key test_fakenewsredis.py::TestFakeStrictRedis::test_ttl_should_return_minus_two_for_non_existent_key test_fakenewsredis.py::TestFakeStrictRedis::test_type test_fakenewsredis.py::TestFakeStrictRedis::test_unset_bits test_fakenewsredis.py::TestFakeStrictRedis::test_watch_state_is_cleared_across_multiple_watches test_fakenewsredis.py::TestFakeStrictRedis::test_zadd test_fakenewsredis.py::TestFakeStrictRedis::test_zadd_errors test_fakenewsredis.py::TestFakeStrictRedis::test_zadd_multiple test_fakenewsredis.py::TestFakeStrictRedis::test_zadd_uses_str test_fakenewsredis.py::TestFakeStrictRedis::test_zadd_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zcard test_fakenewsredis.py::TestFakeStrictRedis::test_zcard_non_existent_key test_fakenewsredis.py::TestFakeStrictRedis::test_zcard_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zcount test_fakenewsredis.py::TestFakeStrictRedis::test_zcount_exclusive test_fakenewsredis.py::TestFakeStrictRedis::test_zcount_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zincrby test_fakenewsredis.py::TestFakeStrictRedis::test_zincrby_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zinterstore test_fakenewsredis.py::TestFakeStrictRedis::test_zinterstore_max test_fakenewsredis.py::TestFakeStrictRedis::test_zinterstore_mixed_set_types test_fakenewsredis.py::TestFakeStrictRedis::test_zinterstore_nokey test_fakenewsredis.py::TestFakeStrictRedis::test_zinterstore_onekey test_fakenewsredis.py::TestFakeStrictRedis::test_zinterstore_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zlexcount test_fakenewsredis.py::TestFakeStrictRedis::test_zlexcount_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrange_descending test_fakenewsredis.py::TestFakeStrictRedis::test_zrange_descending_with_scores test_fakenewsredis.py::TestFakeStrictRedis::test_zrange_same_score test_fakenewsredis.py::TestFakeStrictRedis::test_zrange_with_positive_indices test_fakenewsredis.py::TestFakeStrictRedis::test_zrange_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebylex test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebylex_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebylex_with_limit test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebylex_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebyscore test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebyscore_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebyscore_slice test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebyscore_withscores test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebyscore_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrangebysore_exclusive test_fakenewsredis.py::TestFakeStrictRedis::test_zrank test_fakenewsredis.py::TestFakeStrictRedis::test_zrank_non_existent_member test_fakenewsredis.py::TestFakeStrictRedis::test_zrank_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrem test_fakenewsredis.py::TestFakeStrictRedis::test_zrem_non_existent_member test_fakenewsredis.py::TestFakeStrictRedis::test_zrem_numeric_member test_fakenewsredis.py::TestFakeStrictRedis::test_zrem_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebylex test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebylex_badkey test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebylex_error test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebylex_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyrank test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyrank_negative_indices test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyrank_out_of_bounds test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyrank_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyscore test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyscore_badkey test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyscore_exclusive test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyscore_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_zremrangebyscore_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrange test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrange_sorted_keys test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrange_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrangebylex test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrangebylex_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrangebylex_with_limit test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrangebylex_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrangebyscore test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrangebyscore_exclusive test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrangebyscore_raises_error test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrangebyscore_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrank test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrank_non_existent_member test_fakenewsredis.py::TestFakeStrictRedis::test_zrevrank_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zscore test_fakenewsredis.py::TestFakeStrictRedis::test_zscore_non_existent_member test_fakenewsredis.py::TestFakeStrictRedis::test_zscore_wrong_type test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore_badkey test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore_max test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore_min test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore_mixed_set_types test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore_nokey test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore_sum test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore_weights test_fakenewsredis.py::TestFakeStrictRedis::test_zunionstore_wrong_type test_fakenewsredis.py::TestFakeRedis::test_expire_should_expire_immediately_with_millisecond_timedelta test_fakenewsredis.py::TestFakeRedis::test_expire_should_expire_key test_fakenewsredis.py::TestFakeRedis::test_expire_should_expire_key_using_timedelta test_fakenewsredis.py::TestFakeRedis::test_expire_should_not_handle_floating_point_values test_fakenewsredis.py::TestFakeRedis::test_expire_should_return_false_for_missing_key test_fakenewsredis.py::TestFakeRedis::test_expire_should_return_true_for_existing_key test_fakenewsredis.py::TestFakeRedis::test_expireat_should_expire_key_by_datetime test_fakenewsredis.py::TestFakeRedis::test_expireat_should_expire_key_by_timestamp test_fakenewsredis.py::TestFakeRedis::test_expireat_should_return_false_for_missing_key test_fakenewsredis.py::TestFakeRedis::test_expireat_should_return_true_for_existing_key test_fakenewsredis.py::TestFakeRedis::test_lock test_fakenewsredis.py::TestFakeRedis::test_lrem_default_value test_fakenewsredis.py::TestFakeRedis::test_lrem_does_not_exist test_fakenewsredis.py::TestFakeRedis::test_lrem_negative_count test_fakenewsredis.py::TestFakeRedis::test_lrem_postitive_count test_fakenewsredis.py::TestFakeRedis::test_lrem_return_value test_fakenewsredis.py::TestFakeRedis::test_lrem_zero_count test_fakenewsredis.py::TestFakeRedis::test_pexpire_should_expire_key test_fakenewsredis.py::TestFakeRedis::test_pexpire_should_expire_key_using_timedelta test_fakenewsredis.py::TestFakeRedis::test_pexpire_should_return_falsey_for_missing_key test_fakenewsredis.py::TestFakeRedis::test_pexpire_should_return_truthy_for_existing_key test_fakenewsredis.py::TestFakeRedis::test_pexpireat_should_expire_key_by_datetime test_fakenewsredis.py::TestFakeRedis::test_pexpireat_should_expire_key_by_timestamp test_fakenewsredis.py::TestFakeRedis::test_pexpireat_should_return_false_for_missing_key test_fakenewsredis.py::TestFakeRedis::test_pexpireat_should_return_true_for_existing_key test_fakenewsredis.py::TestFakeRedis::test_psetex_expire_value test_fakenewsredis.py::TestFakeRedis::test_psetex_expire_value_using_timedelta test_fakenewsredis.py::TestFakeRedis::test_pttl_should_return_none_for_non_expiring_key test_fakenewsredis.py::TestFakeRedis::test_pttl_should_return_value_for_expiring_key test_fakenewsredis.py::TestFakeRedis::test_set_ex_should_expire_value test_fakenewsredis.py::TestFakeRedis::test_set_nx_doesnt_set_value_twice test_fakenewsredis.py::TestFakeRedis::test_set_px_should_expire_value test_fakenewsredis.py::TestFakeRedis::test_set_xx_set_value_when_exists test_fakenewsredis.py::TestFakeRedis::test_setex test_fakenewsredis.py::TestFakeRedis::test_setex_using_timedelta test_fakenewsredis.py::TestFakeRedis::test_ttl_should_return_none_for_non_expiring_key test_fakenewsredis.py::TestFakeRedis::test_ttl_should_return_value_for_expiring_key test_fakenewsredis.py::TestFakeRedis::test_ttls_should_always_be_long test_fakenewsredis.py::TestFakeRedis::test_zadd_deprecated test_fakenewsredis.py::TestFakeRedis::test_zadd_missing_required_params test_fakenewsredis.py::TestFakeRedis::test_zadd_with_multiple_keypairs test_fakenewsredis.py::TestFakeRedis::test_zadd_with_name_is_non_string test_fakenewsredis.py::TestFakeRedis::test_zadd_with_single_keypair test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_append test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_append_with_no_preexisting_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_append_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_basic_sort test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_bitcount test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_bitcount_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_blocking_operations_when_empty test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_blpop_allow_single_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_blpop_single_list test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_blpop_test_multiple_lists test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_blpop_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_brpop_single_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_brpop_test_multiple_lists test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_brpop_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_brpoplpush_multi_keys test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_brpoplpush_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_contains test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_decr test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_decr_badtype test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_decr_newkey test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_delete test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_delete_expire test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_delete_multiple test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_delete_nonexistent_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_echo test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_empty_sort test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_exists test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_flushdb test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_foo test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_get_does_not_exist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_get_invalid_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_get_with_non_str_keys test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_getbit test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_getbit_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_getset_exists test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_getset_not_exist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_getset_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hdel test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hdel_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hexists test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hexists_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hgetall test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hgetall_empty_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hgetall_with_tuples test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hgetall_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrby test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrby_with_no_starting_value test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrby_with_range_param test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrby_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrbyfloat test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrbyfloat_on_non_float_value_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrbyfloat_precision test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrbyfloat_with_no_starting_value test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrbyfloat_with_non_float_amount_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrbyfloat_with_range_param test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hincrbyfloat_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hkeys test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hkeys_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hlen test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hlen_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hmget test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hmget_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hmset_convert_values test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hmset_does_not_mutate_input_params test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hmset_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hmsetset test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hmsetset_empty_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hscan test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hset_then_hget test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hset_update test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hset_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hsetnx test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hvals test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_hvals_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incr_bad_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incr_by test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incr_followed_by_mget test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incr_followed_by_mget_returns_strings test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incr_preexisting_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incr_with_float test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incr_with_no_preexisting_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incrbyfloat test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incrbyfloat_bad_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incrbyfloat_precision test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_incrbyfloat_with_noexist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_key_patterns test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lindex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lindex_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_linsert_after test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_linsert_before test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_linsert_no_pivot test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_linsert_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_llen test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_llen_no_exist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_llen_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpop test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpop_empty_list test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpop_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpush_key_does_not_exist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpush_then_lrange_all test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpush_then_lrange_portion test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpush_with_nonstr_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpush_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpushx test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lpushx_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lrem_default_value test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lrem_does_not_exist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lrem_negative_count test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lrem_positive_count test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lrem_return_value test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lrem_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lrem_zero_count test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lset test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lset_index_out_of_range test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_lset_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_ltrim test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_ltrim_with_non_existent_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_ltrim_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_mget test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_mget_mixed_types test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_mget_with_no_keys_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_move_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_mset test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_mset_accepts_kwargs test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_mset_with_no_keys_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_msetnx test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_multidb test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_multiple_bits_set test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_multiple_successful_watch_calls test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_persist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pfadd test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pfcount test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pfmerge test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_ping test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline_ignore_errors test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline_non_transactional test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline_proxies_to_redis_object test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline_raises_when_watched_key_changed test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline_succeeds_despite_unwatched_key_changed test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline_succeeds_when_watching_nonexistent_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline_transaction_shortcut test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pipeline_transaction_value_from_callable test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pttl_should_return_minus_one_for_non_expiring_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pttl_should_return_minus_two_for_non_existent_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pubsub_binary_message test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pubsub_ignore_sub_messages_listen test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pubsub_listen test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pubsub_psubscribe test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pubsub_punsubscribe test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pubsub_subscribe test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_pubsub_unsubscribe test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rename test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rename_does_exist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rename_nonexistent_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_renamenx_doesnt_exist test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpop test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpop_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpoplpush test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpoplpush_to_nonexistent_destination test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpoplpush_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpush test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpush_then_lrange_with_nested_list1 test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpush_then_lrange_with_nested_list2 test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpush_then_lrange_with_nested_list3 test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpush_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpushx test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_rpushx_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sadd test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sadd_as_str_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sadd_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_saving_non_ascii_chars_as_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_saving_non_ascii_chars_as_value test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_saving_unicode_type_as_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_saving_unicode_type_as_value test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scan test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scan_all_in_single_call test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scan_iter_multiple_pages test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scan_iter_multiple_pages_with_match test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scan_iter_single_page test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scan_multiple_pages_with_count_arg test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scan_single test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scard test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_scard_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sdiff test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sdiff_empty test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sdiff_one_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sdiff_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sdiffstore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_None_value test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_ex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_ex_using_timedelta test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_existing_key_persists test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_float_value test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_non_str_keys test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_px test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_px_using_timedelta test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_raises_wrong_ex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_raises_wrong_px test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_then_get test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_using_timedelta_raises_wrong_ex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_set_using_timedelta_raises_wrong_px test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setbit_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setbits_and_getkeys test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setex_raises_wrong_ex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setex_using_float test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setex_using_timedelta test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setex_using_timedelta_raises_wrong_ex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setitem_getitem test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setnx test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_setrange test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sinter test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sinter_bytes_keys test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sinter_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sinterstore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sismember test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sismember_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_smembers test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_smembers_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_smove test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_smove_non_existent_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_alpha test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_descending test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_range_offset_norange test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_range_offset_range test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_range_offset_range_and_desc test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_range_with_large_range test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_with_by_and_get_option test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_with_hash test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_with_set test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_with_store_option test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sort_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_spop test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_spop_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_srandmember test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_srandmember_number test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_srandmember_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_srem test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_srem_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sscan test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_strlen test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_strlen_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_substr test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_substr_noexist_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_substr_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sunion test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sunion_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_sunionstore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_ttl_should_return_minus_one_for_non_expiring_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_ttl_should_return_minus_two_for_non_existent_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_unset_bits test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_watch_state_is_cleared_across_multiple_watches test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zadd test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zadd_errors test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zadd_multiple test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zadd_uses_str test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zadd_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zcard test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zcard_non_existent_key test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zcard_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zcount test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zcount_exclusive test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zcount_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zincrby test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zincrby_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zinterstore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zinterstore_max test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zinterstore_mixed_set_types test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zinterstore_nokey test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zinterstore_onekey test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zinterstore_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zlexcount test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zlexcount_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrange_descending test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrange_descending_with_scores test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrange_same_score test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrange_with_positive_indices test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrange_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebylex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebylex_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebylex_with_limit test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebylex_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebyscore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebyscore_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebyscore_slice test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebyscore_withscores test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebyscore_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrangebysore_exclusive test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrank test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrank_non_existent_member test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrank_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrem test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrem_non_existent_member test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrem_numeric_member test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrem_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebylex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebylex_badkey test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebylex_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebylex_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyrank test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyrank_negative_indices test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyrank_out_of_bounds test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyrank_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyscore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyscore_badkey test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyscore_exclusive test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyscore_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zremrangebyscore_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrange test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrange_sorted_keys test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrange_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrangebylex test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrangebylex_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrangebylex_with_limit test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrangebylex_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrangebyscore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrangebyscore_exclusive test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrangebyscore_raises_error test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrangebyscore_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrank test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrank_non_existent_member test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zrevrank_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zscore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zscore_non_existent_member test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zscore_wrong_type test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore_badkey test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore_max test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore_min test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore_mixed_set_types test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore_nokey test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore_sum test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore_weights test_fakenewsredis.py::TestFakeStrictRedisDecodeResponses::test_zunionstore_wrong_type test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expire_should_expire_immediately_with_millisecond_timedelta test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expire_should_expire_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expire_should_expire_key_using_timedelta test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expire_should_not_handle_floating_point_values test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expire_should_return_false_for_missing_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expire_should_return_true_for_existing_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expireat_should_expire_key_by_datetime test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expireat_should_expire_key_by_timestamp test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expireat_should_return_false_for_missing_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_expireat_should_return_true_for_existing_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_lock test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_lrem_default_value test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_lrem_does_not_exist test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_lrem_negative_count test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_lrem_postitive_count test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_lrem_return_value test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_lrem_zero_count test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pexpire_should_expire_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pexpire_should_expire_key_using_timedelta test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pexpire_should_return_falsey_for_missing_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pexpire_should_return_truthy_for_existing_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pexpireat_should_expire_key_by_datetime test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pexpireat_should_expire_key_by_timestamp test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pexpireat_should_return_false_for_missing_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pexpireat_should_return_true_for_existing_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_psetex_expire_value test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_psetex_expire_value_using_timedelta test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pttl_should_return_none_for_non_expiring_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_pttl_should_return_value_for_expiring_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_set_ex_should_expire_value test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_set_nx_doesnt_set_value_twice test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_set_px_should_expire_value test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_set_xx_set_value_when_exists test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_setex test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_setex_using_timedelta test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_ttl_should_return_none_for_non_expiring_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_ttl_should_return_value_for_expiring_key test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_ttls_should_always_be_long test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_zadd_deprecated test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_zadd_missing_required_params test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_zadd_with_multiple_keypairs test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_zadd_with_name_is_non_string test_fakenewsredis.py::TestFakeRedisDecodeResponses::test_zadd_with_single_keypair test_fakenewsredis.py::TestInitArgs::test_can_accept_any_kwargs test_fakenewsredis.py::TestInitArgs::test_can_pass_through_extra_args test_fakenewsredis.py::TestInitArgs::test_from_url test_fakenewsredis.py::TestInitArgs::test_from_url_db_value_error test_fakenewsredis.py::TestInitArgs::test_from_url_with_db_arg test_fakenewsredis.py::TestImportation::test_searches_for_c_stdlib_and_raises_if_missing