Commit graph

53 commits

Author SHA1 Message Date
Bertrand Bordage
352fb2d829 Small Python optimizations.
While keeping code compatible with Python 2.6 to 3.4, of course…
2015-01-03 06:38:16 +01:00
Bertrand Bordage
becfab3791 Removes lines that became useless. 2014-12-14 08:35:52 +01:00
Bertrand Bordage
a4805f1e47 Fixes the set_many. 2014-12-13 19:13:22 +01:00
Bertrand Bordage
603e018073 Uses set_many instead of multiple adds. 2014-12-13 19:05:12 +01:00
Bertrand Bordage
a358fc18a9 Removes a cache.clear() accidentally introduced. 2014-12-09 01:35:42 +01:00
Bertrand Bordage
859337072e Unnests some code & handles unexpected None found in cache with memcached. 2014-12-07 07:04:26 +01:00
Bertrand Bordage
984b3f2530 Invalidates executemany. 2014-12-07 02:44:50 +01:00
Bertrand Bordage
c09d95e301 Replaces del dict[k] by dict.pop(k). 2014-11-24 18:41:35 +01:00
Bertrand Bordage
45e4cd543b Rewrites invalidation for a better speed & memory performance. 2014-11-24 12:05:00 +01:00
Bertrand Bordage
cf53a6e683 Makes sure a cache key wasn’t invalidated in the meantime. 2014-11-20 14:33:26 +01:00
Bertrand Bordage
680cbc61d0 Stops pickling results for performance and security reasons. 2014-11-19 21:51:04 +01:00
Bertrand Bordage
fbef9448b9 Fixes Django 1.6. 2014-11-04 01:38:51 +01:00
Bertrand Bordage
6200a12b20 Invalidates raw queries. 2014-11-04 01:17:35 +01:00
Bertrand Bordage
83618b69cd Adds QUERY_KEYGEN & TABLE_KEYGEN. 2014-10-30 04:17:48 +01:00
Bertrand Bordage
ddfbfba75d Caches all queries resulting of a `Queryset.extra`. 2014-10-29 19:38:33 +01:00
Bertrand Bordage
d34b92f2a8 Removes redundant patches. 2014-10-29 18:19:00 +01:00
Bertrand Bordage
5f94747ae6 Adds CACHALOT_CACHE_RANDOM. 2014-10-29 17:50:36 +01:00
Bertrand Bordage
8316cde175 Adds an infinite cache timeout. 2014-10-29 14:36:40 +01:00
Bertrand Bordage
bc31429394 Adds an API. 2014-10-28 22:41:51 +01:00
Bertrand Bordage
6036a525c4 Checks that SQL queries weren’t concurrently invalidated during their execution. 2014-10-28 19:51:14 +01:00
Bertrand Bordage
e9b6b40117 Partially reverts 5708345. 2014-10-21 21:47:50 +02:00
Bertrand Bordage
57083451f1 Uses signals to invalidate cache when a DB schema is altered. 2014-10-21 20:29:02 +02:00
Bertrand Bordage
dfdb845c55 Simplification. 2014-10-21 13:40:08 +02:00
Bertrand Bordage
19f306054d Adds multi-database support. 2014-10-20 23:43:10 +02:00
Bertrand Bordage
09232d715c Removes an unused import. 2014-10-19 21:17:07 +02:00
Bertrand Bordage
441506f3f0 Rewrites caching in transactions for a better multi-threading/processing handling. 2014-10-19 20:15:57 +02:00
Bertrand Bordage
3dec971422 Invalidates queries cached within a concurrent connection of a transaction. 2014-10-14 02:01:32 +02:00
Bertrand Bordage
0f6e7d95e5 Tries to fix cache flushes in tests. 2014-10-14 01:40:08 +02:00
Bertrand Bordage
511ab26e84 Also invalidates on fixture setup. 2014-10-14 01:27:08 +02:00
Bertrand Bordage
2faca40f0a Adds TransactionTestCase support by clearing cachalot caches at each fixture teardown instead of each DB creation/destruction. 2014-10-14 01:14:43 +02:00
Bertrand Bordage
f638b67a83 [Optimization] Avoids useless multiple cache hits during transactions. 2014-10-13 21:07:23 +02:00
Bertrand Bordage
be4e723b3f Commits an atomic cache after a SQL commit (not before). 2014-10-13 20:57:36 +02:00
Bertrand Bordage
ab6152dfb1 Use None as a default value (considering we now serialize results). 2014-10-07 16:08:23 +02:00
Bertrand Bordage
371759b769 Pickles results so that memcached even caches None values. 2014-10-06 13:45:57 +02:00
Bertrand Bordage
f3eaf75ed1 Fixes hashing on Python 3. 2014-10-06 12:34:51 +02:00
Bertrand Bordage
5a2fb5e172 Hashes table invalidation keys. 2014-10-06 04:02:57 +02:00
Bertrand Bordage
292cbc8bdc Hashes cache keys for memcached support. 2014-10-06 03:01:46 +02:00
Bertrand Bordage
7c5eea8df1 Uses `wraps` to be able to pickle patched methods. 2014-10-06 00:58:39 +02:00
Bertrand Bordage
6aebbbb64a Removes some unused code. 2014-10-05 03:20:29 +02:00
Bertrand Bordage
92f2ecd557 Removes unpatch functions. 2014-10-05 03:14:57 +02:00
Bertrand Bordage
e8cff823d3 Adds a CACHALOT_ENABLED setting. 2014-10-05 02:36:19 +02:00
Bertrand Bordage
554dbfde94 Fixes database teardown in tests. 2014-10-05 01:46:24 +02:00
Bertrand Bordage
350bced73d Removes map for Python 3. 2014-10-05 01:41:24 +02:00
Bertrand Bordage
e5d003c8e4 Removes 2 debug methods. 2014-10-05 01:38:01 +02:00
Bertrand Bordage
c4ed66b710 Allows to change CACHALOT_CACHE during transactions (useful for tests). 2014-10-05 01:25:48 +02:00
Bertrand Bordage
2f0ccce731 Optimization. 2014-10-05 00:59:05 +02:00
Bertrand Bordage
ec89949043 Adds a CACHALOT_CACHE setting. 2014-10-04 12:59:45 +02:00
Bertrand Bordage
fa0a44e0fc Clears the cache on test DB creation and destruction. 2014-09-29 22:03:05 +02:00
Bertrand Bordage
611f527079 Fixes invalidation between tests (as rollback is forced using connection.need_rollback). 2014-09-29 19:54:08 +02:00
Bertrand Bordage
b1087e9a53 Adds a special cache for transactions. 2014-09-29 19:16:53 +02:00