Sha256: 0d6ce3ad03dcaed80eefe75bf297dcebbddde71ef609df76952e05e244437e64
Contents?: true
Size: 940 Bytes
Versions: 6
Compression:
Stored size: 940 Bytes
Contents
require 'memcached' module Waves module Caches class Memcached < Simple def initialize( args ) raise ArgumentError, ":servers is nil" if args[ :servers ].nil? @cache = ::Memcached.new( args[ :servers ], args[ :options ] || {} ) end def store( key,value, ttl = 0, marshal = true ) cache = @cache.clone; cache.add( key.to_s, value, ttl, marshal ); cache.destroy end def fetch( key ) cache = @cache.clone; cache.get( key.to_s ); cache.destroy rescue ::Memcached::NotFound => e nil end def delete( key ) cache = @cache.clone; cache.delete( key.to_s ); cache.destroy end def clear cache = @cache.clone; cache.flush; cache.destroy end end class SynchronizedMemcached < Synchronized def initialize( args ) super( Memcached.new( args ) ) end end end end
Version data entries
6 entries across 6 versions & 4 rubygems