Jon Dufresne
779829662d
Fixed #26694 -- Made FileBasedCache.get() reraise non-ENOENT IOErrors.
2016-06-01 15:29:24 -04:00
Jon Dufresne
359be1c870
Fixed #26691 -- Removed checking for a file's existence before deleting.
...
File operations always raise a ENOENT error when a file doesn't exist.
Checking the file exists before the operation adds a race condition
condition where the file could be removed between operations. As the
operation already raises an error on a missing file, avoid this race and
avoid checking the file exists twice. Instead only check a file exists
by catching the ENOENT error.
2016-05-31 12:03:27 -04:00
Jaap Roes
1aba0e4c68
Refs #25501 -- Fixed a typo in django/core/cache/backends/filebased.py
...
The original intent in refs #20536 was to use the highest protocol.
Calling zlib.compress() with a compression level of -1 seems to
fall back to the default level of 6.
2015-11-14 15:10:14 -05:00
Andrew Artajos
48888a1a67
Fixed #25501 -- Made the file-based cache backend use the highest pickling protocol.
2015-10-20 13:05:33 -04:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Jaap Roes
1b5918f160
Fixed #23625 -- Removed CacheClass shim
2014-10-10 08:43:26 -04:00
Tim Graham
536c447820
Fixed a couple flake8 warnings.
2013-11-07 20:10:25 -05:00
Jaap Roes
7be638390e
Fixed #20536 -- rewrite of the file based cache backend
...
* Safer for use in multiprocess environments
* Better random culling
* Cache files use less disk space
* Safer delete behavior
Also fixed #15806 , fixed #15825 .
2013-11-07 16:12:15 +02:00
Alex Gaynor
7548aa8ffd
More attacking E302 violators
2013-11-02 13:12:09 -07:00
Alex Gaynor
9bf5610890
Start attacking E231 violations
2013-10-24 10:30:03 -07:00
Michael Manfre
bf757a2f4d
Fixed #21147 -- Avoided time.time precision issue with cache backends.
...
The precision of time.time() is OS specific and it is possible for the
resolution to be low enough to allow reading a cache key previously set
with a timeout of 0.
2013-10-01 13:42:59 -04:00
Jacob Burch
89955cc35f
Fixed #9595 -- Allow non-expiring cache timeouts.
...
Also, streamline the use of 0 and None between cache backends.
2013-05-18 15:39:42 +02:00
Claude Paroz
ebc773ada3
Replaced many smart_bytes by force_bytes
...
In all those occurrences, we didn't care about preserving the
lazy status of the strings, but we really wanted to obtain a
real bytestring.
2012-08-29 11:20:32 +02:00
Claude Paroz
ac37c9e495
[py3] Encoded value before feeding it to hashlib.md5
2012-08-12 22:49:10 +02:00
Aymeric Augustin
ca07fda2ef
[py3] Switched to Python 3-compatible imports.
...
xrange/range will be dealt with in a separate commit due to the huge
number of changes.
2012-07-22 09:29:56 +02:00
Claude Paroz
865cd35c9b
Made more extensive usage of context managers with open.
2012-05-05 14:06:36 +02:00
Adrian Holovaty
a87be3554f
Removed a bunch of Python 2.4 workarounds now that we don't support it. Refs #15702 -- thanks to jonash for the patch. Splitting this over muliple commits to make it more manageable.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15926 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-03-28 01:40:43 +00:00
Russell Keith-Magee
673e6fc7fb
Fixed #11675 -- Added support for the PyLibMC cache library. In order to support this, and clean up some other 1.3 caching additions, this patch also includes some changes to the way caches are defined. This means you can now have multiple caches, in the same way you have multiple databases. A huge thanks to Jacob Burch for the work on the PyLibMC backend, and to Jannis for his work on the cache definition changes.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15005 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-12-21 15:19:19 +00:00
Russell Keith-Magee
99d247f4cb
Fixed #13795 -- Added a site-wide cache prefix and cache versioning. Thanks to bruth for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14623 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-11-19 15:39:35 +00:00
Russell Keith-Magee
1fc7c4aee4
Fixed #14596 -- Light refactoring of the cache backends.
...
* Removes some code duplication,
* Provides a convenient base class for db-like cache backends
* Adds tests for an edge case of culling,
* Marks the memcached tests as "skipped", rather than omitting them.
Thanks to Jonas H for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14434 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-11-02 05:55:08 +00:00
Malcolm Tredinnick
fc26da645a
Add warning when using cache keys that might not work with memcached.
...
This means testing with local dev caches (not memcache) will warn
developers if they are introducing inadvertent importabilities. There is
also the ability to silence the warning if a dev is not planning to use
memcache and knows what they are doing with their keys.
Thanks to Carl Meyer for the patch. Fixed #6447 .
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13766 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-09-12 18:45:26 +00:00
Luke Plant
92b91d6e7b
Fixed #14250 - FileBasedCacheTests.test_cull test failure
...
This patch makes the cull behaviour (which files deleted and how many
deleted) deterministic.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13705 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-09-10 13:03:02 +00:00
Russell Keith-Magee
94a968cfc6
Fixed #13357 -- Minor changes to get Django running under PyPy. Thanks to Alex Gaynor for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12991 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-04-16 11:11:55 +00:00
Russell Keith-Magee
8e8d4b5888
Fixed #12671 -- Added set_many(), get_many(), and clear() methods to the cache backend interface. Thanks to Jeff Balogh for the report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12306 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-01-27 08:21:35 +00:00
Adrian Holovaty
5ceed0a053
Changed a whole bunch of places to raise exception instances instead of old-style raising exception classes plus a comma. Good for the future Python 3 conversion
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12180 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-01-10 18:36:20 +00:00
Malcolm Tredinnick
f6670e1341
Added a return value to the add() method for caches. It's now possible to tell
...
if a call to add() ended up storing something in the cache.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8278 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-10 03:52:21 +00:00
Gary Wilson Jr
c85c8f8891
Fixed #7919 -- md5 and sha modules are deprecated since Python 2.5, use hashlib module when available. Patch from Karen Tracey.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8193 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-02 05:56:57 +00:00
Jacob Kaplan-Moss
acfff050ec
Fixed #6099 : the filebased cache backend now uses md5 hashes of keys instead of sanitized filenames. For good measure, keys are partitioned into subdirectories using the first few bits of the hash. Thanks, sherbang.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6887 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-12-04 18:03:56 +00:00
Malcolm Tredinnick
f6a3b499b8
Fixed #6086 -- Deprecate the "simple" cache backend in favour of "locmem".
...
Thanks, Paul Bissex.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6822 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-12-02 00:35:14 +00:00
Malcolm Tredinnick
714c09b8bd
Fixed #4831 -- Added an "add" cache key method, for parity with memcached's
...
API. This works for all cache backends. Patch from Matt McClanahan.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6572 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-20 15:16:34 +00:00
Malcolm Tredinnick
2679bc0304
Fixed #4845 -- Fixed some problems with Unicode usage and caching. Thanks,
...
Jeremy Dunck.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5718 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-16 09:36:10 +00:00
Adrian Holovaty
c5073320a7
Refactored cache from django/core/cache.py into django/core/cache package, with each backend getting a separate module. This keeps things cleaner and uses less memory, because the backend module is only loaded if it's needed.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@2378 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-02-24 06:07:01 +00:00