class Kisyo::Cache
Constants
- CACHE_SIZE
Attributes
keys[R]
m[R]
values[R]
Public Class Methods
new()
click to toggle source
# File lib/kisyo/cache.rb, line 5 def initialize @keys = [] @values = {} @m = Mutex.new end
Public Instance Methods
get(key)
click to toggle source
# File lib/kisyo/cache.rb, line 11 def get(key) values[key] end
set(key, value)
click to toggle source
# File lib/kisyo/cache.rb, line 15 def set(key, value) m.synchronize do if values[key] return end keys << key values[key] = value if keys.size > CACHE_SIZE oldest_key = keys.shift values.delete(oldest_key) end end end