Show More
@@ -62,11 +62,23 b' class LRUMemoryBackend(memory_backend.Me' | |||
|
62 | 62 | |
|
63 | 63 | |
|
64 | 64 | class Serializer(object): |
|
65 | def _dumps(self, value): | |
|
65 | def _dumps(self, value, safe=False): | |
|
66 | try: | |
|
66 | 67 | return compat.pickle.dumps(value) |
|
68 | except Exception: | |
|
69 | if safe: | |
|
70 | return NO_VALUE | |
|
71 | else: | |
|
72 | raise | |
|
67 | 73 | |
|
68 | def _loads(self, value): | |
|
74 | def _loads(self, value, safe=True): | |
|
75 | try: | |
|
69 | 76 | return compat.pickle.loads(value) |
|
77 | except Exception: | |
|
78 | if safe: | |
|
79 | return NO_VALUE | |
|
80 | else: | |
|
81 | raise | |
|
70 | 82 | |
|
71 | 83 | |
|
72 | 84 | class CustomLockFactory(FileLock): |
@@ -159,6 +171,12 b' class RedisPickleBackend(Serializer, red' | |||
|
159 | 171 | def get_store(self): |
|
160 | 172 | return self.client.connection_pool |
|
161 | 173 | |
|
174 | def get(self, key): | |
|
175 | value = self.client.get(key) | |
|
176 | if value is None: | |
|
177 | return NO_VALUE | |
|
178 | return self._loads(value) | |
|
179 | ||
|
162 | 180 | def set(self, key, value): |
|
163 | 181 | if self.redis_expiration_time: |
|
164 | 182 | self.client.setex(key, self.redis_expiration_time, |
General Comments 0
You need to be logged in to leave comments.
Login now