Skip Menu |

This queue is for tickets about the Cache-Memcached CPAN distribution.

Report information
The Basics
Id: 93167
Status: open
Priority: 0/
Queue: Cache-Memcached

People
Owner: Nobody in particular
Requestors: unrtst [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: (no value)



Subject: [PATCH] feature additions - most of them from Cache::Memcached::Fast
This bug report is actually an enhancement request/patch. The new features are documented and include full tests. Some additional tests for the existing code, as well as some benchmarks, have also been added. The CMFast (Cache::Memcached::Fast) contains features that are currently available in Cache::Memcached::Fast, and uses the same API. The "digest_keys" feature is one I have not found elsewhere, so I have included it as a separate patch. It's also something that *could* be implemented via a wrapper class or a class inheriting from C:M, though that would be messier and slower. These features are also being made available on github: https://github.com/unrtst/Cache-Memcached/tree/CMFastFeatures https://github.com/unrtst/Cache-Memcached/tree/DigestKeys https://github.com/unrtst/Cache-Memcached/tree/bugfix-1.30 Please consider these for inclusion in Cache::Memcached. This code is being supplied under the same license as Cache::Memcached: Show quoted text
> You may distribute under the terms of either the GNU General Public > License or the Artistic License, as specified in the Perl README file.
patch Cache-Memcached-CMFast-features.patch: * Add many features currently found in Cache::Memcached::Fast: compress_ratio max_size compress_methods serialize_methods hash_namespace * Add tests for new features: t/08_compression.t t/09_serialize_methods.t t/10_compress_methods.t t/13_max_size.t t/14_compress_ratio.t t/16_hash_namespace.t * Add benchmark scripts: script/benchmark_method_overrides.pl script/benchmark_simple.pl * Includes bugfixes from rt#93094 : bugfix for deleting keys that contain utf8 values https://rt.cpan.org/Ticket/Display.html?id=93094&results=743fb0e21e93e45119cc98b2eb1a3e9f ** * Fix delete with utf8 keys. Added tests for it. lib/Cache/Memcached.pm, t/06_utf8_key.t https://rt.cpan.org/Ticket/Display.html?id=93094 ** * Fix usage of compress_enable in new(). It was hardcoded to enabled. Options now override that setting. Updated docs to reflect that update. Added set_compress_enable as an alias of enable_compress. ** * Update tests to delete any keys that the test adds. ** * Added additional tests: t/07_storable.t t/08_compression.t t/15_namespace.t t/test_structs.pl patch Cache-Memcached-DigestKeys-feature.patch: * Includes everything from Cache-Memcached-CMFast-features.patch, as well as... * Add digest_keys_enable/digest_keys_method support. If enabled, all memcached keys are hashed (ex. Digest::MD5::md5_base64) before being sent to the memcached server, and mapped back to user supplied values when needed (get_multi). IE. it's transparent to the user, and enables the use of arbitrarily large keys with almost no performance penalty. * Add tests and updated benchmarks for digest key hashing. script/benchmark_method_overrides.pl t/11_digest_keys_simple.t t/12_digest_keys_more.t * Add benchmark to gauge possibility of adding caching to digest key generation. script/benchmark_digest_keys_caching.pl * Fix size of test errors. Test using large values were testing results of get() with is(), which is normal, but if there was an error then a very large amount of data would dump to the screen. Changed to using ok() for those. t/08_compression.t t/10_compress_methods.t t/13_max_size.t t/14_compress_ratio.t
Subject: Cache-Memcached-DigestKeys-feature.patch

Message body is not shown because it is too large.

patch Cache-Memcached-CMFast-features.patch: This didn't attached with original submit for some reason.
Subject: Cache-Memcached-CMFast-features.patch

Message body is not shown because it is too large.