diff --git a/lib/WebGUI/Cache/Memcached.pm b/lib/WebGUI/Cache/Memcached.pm index 73e23ce65..5e1e910ec 100644 --- a/lib/WebGUI/Cache/Memcached.pm +++ b/lib/WebGUI/Cache/Memcached.pm @@ -15,6 +15,7 @@ package WebGUI::Cache::Memcached; =cut use Cache::Memcached; +use Digest::MD5; use HTTP::Headers; use HTTP::Request; @@ -135,6 +136,11 @@ sub new { my $key = shift; my $namespace = shift || $session{config}{configFile}; + # Overcome maximum key length of 255 characters + if(length($key.$namespace) > 255) { + $key = Digest::MD5::md5_base64($key); + } + my $servers = $session{config}{memcached_servers}; $servers = [ $servers ] unless (ref $servers);