mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #34212 -- Made RedisCacheClient.incr() use write connection.
Co-authored-by: Sin-Woo Bang <sinwoobang@gmail.com>
This commit is contained in:
		
							
								
								
									
										2
									
								
								django/core/cache/backends/redis.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								django/core/cache/backends/redis.py
									
									
									
									
										vendored
									
									
								
							| @@ -130,7 +130,7 @@ class RedisCacheClient: | ||||
|         return bool(client.exists(key)) | ||||
|  | ||||
|     def incr(self, key, delta): | ||||
|         client = self.get_client(key) | ||||
|         client = self.get_client(key, write=True) | ||||
|         if not client.exists(key): | ||||
|             raise ValueError("Key '%s' not found." % key) | ||||
|         return client.incr(key, delta) | ||||
|   | ||||
							
								
								
									
										8
									
								
								tests/cache/tests.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								tests/cache/tests.py
									
									
									
									
										vendored
									
									
								
							| @@ -1787,6 +1787,14 @@ class RedisCacheTests(BaseCacheTests, TestCase): | ||||
|     def incr_decr_type_error(self): | ||||
|         return self.lib.ResponseError | ||||
|  | ||||
|     def test_incr_write_connection(self): | ||||
|         cache.set("number", 42) | ||||
|         with mock.patch( | ||||
|             "django.core.cache.backends.redis.RedisCacheClient.get_client" | ||||
|         ) as mocked_get_client: | ||||
|             cache.incr("number") | ||||
|             self.assertEqual(mocked_get_client.call_args.kwargs, {"write": True}) | ||||
|  | ||||
|     def test_cache_client_class(self): | ||||
|         self.assertIs(cache._class, RedisCacheClient) | ||||
|         self.assertIsInstance(cache._cache, RedisCacheClient) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user