Commit Graph

74 Commits

Author SHA1 Message Date
Bertrand Bordage da4e21b515 Adds `CACHALOT_DATABASES` and removes dynamic setting support.
Dynamic setting support is removed because it’s not thread-safe.
2017-06-04 18:37:39 +02:00
Bertrand Bordage b812f70895 Fixes an import on Django 1.8 2017-06-03 22:17:22 +02:00
Bertrand Bordage 84c53cd00d Invalidates queries on schema changes. 2017-06-03 22:02:23 +02:00
Bertrand Bordage f6cfeb6226 Stops automatically invalidating other caches than `CACHALOT_CACHE`.
This had a negative impact on performance, and it was not working reliably.
It is clearer to invalidate only `CACHALOT_CACHE`, and to detail what
to do in the docs when we change `CACHALOT_CACHE`.
2016-09-29 19:11:21 +02:00
Bertrand Bordage 246873b42f Don’t invalidate uncachable queries. 2016-09-07 00:44:51 +02:00
Bertrand Bordage 571e6ec691 Adds CACHALOT_TIMEOUT. 2016-09-06 21:57:26 +02:00
Bertrand Bordage 0373f5eb60 Fixes the bytes → str conversion. 2016-07-21 23:59:11 +02:00
Ayzse 651a9bdf75 Unicode encode fix 2016-07-14 10:23:10 -05:00
Bertrand Bordage 58fd71c925 Small Python optimisations & simplifications. 2016-01-11 22:57:42 +01:00
Bertrand Bordage 7177361267 Avoids extra invalidations during write operations. 2015-10-28 11:37:58 +01:00
Bertrand Bordage 43bd5e1b38 Fixes the independence issue when nesting atomic block of different databases. 2015-10-26 02:42:13 +01:00
Bertrand Bordage 6c13636044 Creates get_last_invalidation(), while simplifying API usage. 2015-10-05 23:48:48 +02:00
Bertrand Bordage abc00b1307 Merges invalidate_all, invalidate_tables and invalidate_models, while optimising it. 2015-10-05 22:31:47 +02:00
Bertrand Bordage 9938b54123 Merge branch 'master' into django-1.8
Conflicts:
	cachalot/cache.py
	cachalot/monkey_patch.py
	cachalot/tests/read.py
	cachalot/utils.py
	tox.ini
2015-10-02 18:39:04 +02:00
Bertrand Bordage d9259802fa Fixes an issue with MySQL. 2015-06-19 18:06:20 +02:00
Bertrand Bordage 7f86cfe1cc Python optimisations. 2015-06-18 03:07:04 +02:00
Bertrand Bordage d9e19a8ca5 Simplifications. 2015-06-17 22:39:39 +02:00
Bertrand Bordage 5cc4d3ae93 Adds an UNCACHABLE_TABLES setting to fix some migrations issues in tests and significantly speed up tests. 2015-06-17 21:24:49 +02:00
Bertrand Bordage a32f86ffb4 Optimizes automatic invalidation. 2015-05-24 19:34:24 +02:00
Bertrand Bordage 720480359b Stops caching queries with random subqueries. 2015-05-24 19:29:50 +02:00
Bertrand Bordage 16e14c9219 Drops Django 1.6 & Python 2.6 support. 2015-04-11 01:57:13 +02:00
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