public
Description: Tracks the keys added to an instance of MemCache
Clone URL: git://github.com/jamescook/memcache_keys_script.git
Added simple script to hook the  method into ActiveSupport::Cache
jamescook (author)
Mon Jul 14 19:24:42 -0700 2008
commit  40b4dce096f098b5f81e1adc37b359e118585b79
tree    8995f9f898eb39e99cf043a7b6668099555a5dea
parent  71241dfcd62c9edcee3b32b436fb2f79e65951ec
...
6
7
8
9
 
10
11
12
13
14
 
15
16
17
18
19
 
20
21
 
22
23
24
25
26
27
28
 
 
29
30
31
 
32
33
34
 
35
36
37
...
39
40
41
42
 
43
44
 
45
46
47
48
 
49
50
 
51
52
53
...
6
7
8
 
9
10
11
12
13
 
14
15
16
17
18
 
19
20
 
21
22
23
24
25
26
 
 
27
28
29
 
 
30
31
32
 
33
34
35
36
...
38
39
40
 
41
42
 
43
44
45
46
 
47
48
 
49
50
51
52
0
@@ -6,32 +6,31 @@ class MemCache
0
   
0
   attr_accessor :alt_namespace
0
   
0
- def add(key,val,exp_time=0)
0
+ def add(key,val,exp_time=0, *args)
0
     self._add(key,val,exp_time)
0
     update_keys_cache(key,self)
0
   end
0
   
0
- def set(key,val,exp_time=0)
0
+ def set(key,val,exp_time=0, *args)
0
     self._set(key,val,exp_time)
0
     update_keys_cache(key,self)
0
   end
0
   
0
- def delete(key,time=nil)
0
+ def delete(key,time=nil, *args)
0
     new_keys = self.keys.reject{|existing_key| existing_key.to_s == key}
0
- KEYS[self.alt_namespace.to_sym] = [new_keys].flatten
0
+ MemCache::KEYS[self.alt_namespace.to_sym] = [new_keys].flatten
0
     self._delete(key,time)
0
   end
0
   
0
   # Return array of key names for a given cache
0
   def keys
0
- nil unless Object.const_defined?(:KEYS)
0
- KEYS[self.alt_namespace.to_sym]
0
+ nil unless MemCache.const_defined?(:KEYS)
0
+ MemCache::KEYS[self.alt_namespace.to_sym]
0
   end
0
-
0
-
0
+
0
 protected
0
   def setup_key_cache(cache)
0
- Object.const_set(:KEYS, {})
0
+ MemCache.const_set(:KEYS, {})
0
   end
0
 
0
   def set_namespace(namespace)
0
@@ -39,15 +38,15 @@ protected
0
   end
0
   
0
   def update_keys_cache(key,cache)
0
- setup_key_cache(cache) unless Object.const_defined?(:KEYS)
0
+ setup_key_cache(cache) unless MemCache.const_defined?(:KEYS)
0
     set_namespace(cache.namespace) if cache.alt_namespace.nil?
0
- existing_keys = KEYS[cache.alt_namespace.to_sym]
0
+ existing_keys = MemCache::KEYS[cache.alt_namespace.to_sym]
0
 
0
     if(existing_keys.is_a? Array)
0
       existing_keys.push(key.to_sym) unless existing_keys.include?(key.to_sym)
0
- KEYS[cache.alt_namespace.to_sym] = existing_keys
0
+ MemCache::KEYS[cache.alt_namespace.to_sym] = existing_keys
0
     else
0
- KEYS[cache.alt_namespace.to_sym] = [key.to_sym]
0
+ MemCache::KEYS[cache.alt_namespace.to_sym] = [key.to_sym]
0
     end
0
     nil
0
   end

Comments

    No one has commented yet.