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
Russell Keith-Magee
1070c57b83
Fixed #14436 -- Escalated 1.2 PendingDeprecationWarnings to DeprecationWarnings, and removed 1.1 deprecated code.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14138 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-11 12:20:07 +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
2a0f4fb5da
Fixed #14199 -- Added a missing table creation statement in the db cache backend cull implementation, and added tests for cache culling. Thanks to Tim for the report.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13678 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-08-31 00:44:46 +00:00
Russell Keith-Magee
fc374976e5
Fixed #13946 -- Modified the database cache backend to use the database router to determine availability of the cache table. Thanks to tiemonster for the report.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13473 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-08-05 02:13:32 +00:00
Russell Keith-Magee
5211f48ae3
Fixed #12164 -- Removed the Python 2.3 compatibility imports and workarounds. Thanks to timo and claudep for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13094 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-05-04 14:00:30 +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
2287426ba6
Fixed #12427 -- Started the deprecation path for cmemcache support. Thanks to otherjacob for his work on this issue.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12754 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-03-10 14:02:59 +00:00
Jacob Kaplan-Moss
b3a56755d7
Fixed #11012 : don't needless convert cache values to unicode.
...
This means you can now successfully store binary blogs, such as compressed data,
in the cache.
Thanks to Matt Croydon for the final patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12637 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-03-01 20:11:24 +00:00
Russell Keith-Magee
02d40b93f8
Fixed #11483 -- Modified db cache backend to use db backend functions for date conversion, avoiding problems under Jython. Thanks to Leo Soto for the report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12411 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-11 12:26:34 +00:00
Russell Keith-Magee
ab828da2b9
Fixed #11623 -- Corrected table name quoting in db cache backend. Thanks to Fraser Nevett for the report and fix.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12410 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-11 12:21:46 +00:00
Russell Keith-Magee
4d2f489bca
Fixed #12189 -- Corrected rollback behavior in database cache backend. Thanks to Lakin Wecker for the report.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12409 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-11 12:10:11 +00:00
Russell Keith-Magee
75ab212d12
Fixed #12399 -- Added handling for memcache timeouts longer than 30 days. Thanks to houdinihound for the report, and gciotta for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12408 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-11 12:06:26 +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
Jacob Kaplan-Moss
07ba0dbaf7
Fixed #10646 : `cache.incr()` and `decr()` now fail consistantly under python-memcache and cmemcache.
...
Though it looks like this commit has no tests that's not so: this is tested for in `regressiontests/cache/tests.py` around like 183; these tests currently fail if ran against cmemcache.
Thanks, andrewfong.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11855 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-13 20:35:06 +00:00
Jacob Kaplan-Moss
644e98136a
Fixed #9644 : fix a thread sync issue in the locmem cache. Thanks, mrts.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10333 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-01 17:05:19 +00:00
Ian Kelly
83c1572cc4
Fixed #10488 : fixed DB cache backend test failures in Oracle.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10051 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-13 21:04:48 +00:00
Russell Keith-Magee
638dbc3e83
Fixed #6464 -- Added incr() and decr() operations on cache backends. Atomic on Memcache; implemented as a 2 stage retrieve/update on other backends. Includes refactor of the cache tests to ensure all the backends are actually tested, and a fix to the DB cache backend that was discovered as a result. Thanks to Michael Malone for the original patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10031 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-11 13:27:03 +00:00
Malcolm Tredinnick
392f81cba9
Fixed #9626 -- Fixed a deletion race in the locmem cache.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9998 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-08 09:59:43 +00:00
Malcolm Tredinnick
8f28a84a98
The database cache wasn't correctly handling expired keys. Fixed now.
...
The cache tests have been failing for a long time with the db backend. This
change makes them pass again, so no test changes required here.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9942 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-02 03:15:27 +00:00
Malcolm Tredinnick
e7769c36e9
Fixed #8410 -- Added a missing piece of value encoding for the memcached
...
backend. Patch from trbs.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8444 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-19 20:35:56 +00:00
Malcolm Tredinnick
2d2396a384
Fixed #5133 -- Explicitly close memcached connections after each request
...
(similar to database connection management). We can't effectively manage the
lifecycle by pooling connections and recent versions of python-memcache can
lead to connection exhaustion in some quite reasonable setups.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8418 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-16 23:35:58 +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
Malcolm Tredinnick
66612ef529
Fixed #6413 -- Fixed a deadlock situation in the locmem culling implementation.
...
Thanks, Joe Holloway.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8090 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-26 05:27:59 +00:00
Malcolm Tredinnick
6f16b5bad2
Fixed #7967 -- Make sure the __contains__ method in the cache backends call the
...
right has_key() method for the subclass. Patch from Marty Alchin.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8084 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-26 03:58:31 +00:00
Malcolm Tredinnick
f425cb8caa
Fixe #6131 -- Fixed a problem with expired keys in the locmem cache. Based on a patch from sherbang.
...
In passing, changed the get() method to use a similar style to has_key() and made add() fractionally faster with the same sort of change (only compute time.time() when we really need it).
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6904 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-12-11 01:20:25 +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
Adrian Holovaty
9e762f4407
Edited docs and docstring changes from [6572] (new cache add() method)
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6774 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-30 05:30:43 +00:00
Gary Wilson Jr
900811f401
Fixed #5981 -- Fixed failing regression test when using locmem cache backend. Changed `add` to pickle the value as is done in `set`. Based on patch from mattmcc.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6709 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-11-21 19:54:58 +00:00
Malcolm Tredinnick
ef454b8a14
Fixed a bug in the db cache backend introduced in [6572].
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6589 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-10-21 19:19:32 +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
Gary Wilson Jr
a41c03345e
Changed imports to adhere to PEP 8.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5704 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-15 06:29:45 +00:00
Gary Wilson Jr
ae7f04caab
Fixed #3012 -- Changed the locmem cache backend to use pickle instead of deepcopy to make it compatible with iterators (which cannot be copied). Patch from Sundance.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5703 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-07-15 06:24:54 +00:00
Malcolm Tredinnick
0839a0046a
Fixed #4041 -- Added a __contains__ method to cache backends. Thanks, Gary
...
Wilson and SmileyChris.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5171 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-05-08 04:13:46 +00:00
Malcolm Tredinnick
439cb4047f
Fixed #4040 -- Changed uses of has_key() to "in". Slight performance
...
improvement and forward-compatible with future Python releases. Patch from Gary
Wilson.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5091 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-04-26 13:30:48 +00:00
Adrian Holovaty
a5bb14ed2e
Fixed #3648 -- Added support for cmemcached Python library. Thanks, floguy@gmail.com
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4827 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-03-25 23:29:31 +00:00
Jacob Kaplan-Moss
c1b11091e7
Fixed #3290 : DummyCache now conforms to the BaseCache interface correctly. Thanks, Ned Batchelder.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4308 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2007-01-12 15:16:55 +00:00
Adrian Holovaty
eef88a6d2c
Fixed #2561 -- memcached cache backend no longer ignores default timeout. Thanks for the report and patch, Christopher Lenz
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3611 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-08-18 15:10:08 +00:00
Jacob Kaplan-Moss
17d0bd1512
Fixed a bunch of spurious imports, typos, and other small errors turned up by a pass through PyFlakes. This covers about the first third of the errors.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3411 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-07-21 17:11:13 +00:00
Adrian Holovaty
2abfd5dd58
Fixed #2109 -- Convert old-style classes to new-style classes throughout Django. Thanks, Nicola Larosa
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3113 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-06-08 05:00:13 +00:00
Adrian Holovaty
f69cf70ed8
MERGED MAGIC-REMOVAL BRANCH TO TRUNK. This change is highly backwards-incompatible. Please read http://code.djangoproject.com/wiki/RemovingTheMagic for upgrade instructions.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@2809 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2006-05-02 01:31:56 +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