lawnchair 0.6.8 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ begin
10
10
  gem.email = "shanewolf@gmail.com"
11
11
  gem.homepage = "http://github.com/gizm0duck/lawnchair"
12
12
  gem.authors = ["Shane Wolf"]
13
- gem.add_dependency "redis", ">=0.1.2"
13
+ gem.add_dependency "redis", ">=2.0.0"
14
14
  gem.add_dependency "activesupport", ">=2.3.2"
15
15
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
16
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.8
1
+ 0.6.9
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{lawnchair}
8
- s.version = "0.6.8"
8
+ s.version = "0.6.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Shane Wolf"]
12
- s.date = %q{2010-09-14}
12
+ s.date = %q{2010-10-08}
13
13
  s.description = %q{Fully featured caching mechanism for arbitrary pieces of resource expensive ruby code using Redis while being able to optionally store data in the Ruby process itself for maximum efficiency.}
14
14
  s.email = %q{shanewolf@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -61,14 +61,14 @@ Gem::Specification.new do |s|
61
61
  s.specification_version = 3
62
62
 
63
63
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
64
- s.add_runtime_dependency(%q<redis>, [">= 0.1.2"])
64
+ s.add_runtime_dependency(%q<redis>, [">= 2.0.0"])
65
65
  s.add_runtime_dependency(%q<activesupport>, [">= 2.3.2"])
66
66
  else
67
- s.add_dependency(%q<redis>, [">= 0.1.2"])
67
+ s.add_dependency(%q<redis>, [">= 2.0.0"])
68
68
  s.add_dependency(%q<activesupport>, [">= 2.3.2"])
69
69
  end
70
70
  else
71
- s.add_dependency(%q<redis>, [">= 0.1.2"])
71
+ s.add_dependency(%q<redis>, [">= 2.0.0"])
72
72
  s.add_dependency(%q<activesupport>, [">= 2.3.2"])
73
73
  end
74
74
  end
@@ -1,5 +1,5 @@
1
- require 'activesupport'
2
- require 'activerecord'
1
+ require 'active_support'
2
+ require 'active_record'
3
3
  module ActiveRecord
4
4
  module LawnchairExtension
5
5
 
@@ -11,8 +11,7 @@ module Lawnchair
11
11
  def fetch(key, options={}, &block)
12
12
 
13
13
  start_time = Time.now
14
- if exists?(key)
15
- value = get(key, options)
14
+ if value = get(key, options)
16
15
  log("HIT", key, Time.now-start_time)
17
16
  return value
18
17
  else
@@ -27,7 +26,8 @@ module Lawnchair
27
26
  if options[:raw]
28
27
  data_store[computed_key(key)]
29
28
  else
30
- exists?(key) ? Marshal.load(data_store[computed_key(key)]) : nil
29
+ value = data_store[computed_key(key)]
30
+ value.nil? ? nil : Marshal.load(value)
31
31
  end
32
32
  end
33
33
 
@@ -1,6 +1,6 @@
1
1
  require 'benchmark'
2
2
  require "#{File.dirname(__FILE__)}/../lib/lawnchair"
3
-
3
+ require 'activesupport'
4
4
  Lawnchair.connectdb
5
5
  Lawnchair.flushdb
6
6
 
@@ -18,13 +18,13 @@ puts "*** Performing #{n} iterations ***"
18
18
 
19
19
  def expensive_stuff
20
20
  a = []
21
- 100.times do
22
- a << Date.parse("Dec 3. 1981")
21
+ 100.times do |i|
22
+ a << Time.parse("Dec 3. 1981")
23
23
  end
24
24
  end
25
25
 
26
26
  Benchmark.bm(7) do |x|
27
- x.report("cached:\t\t") do
27
+ x.report("cached:\t\t\t") do
28
28
  (1..n).each do |i|
29
29
  Lawnchair.cache("redis_cache") do
30
30
  expensive_stuff
@@ -32,7 +32,7 @@ Benchmark.bm(7) do |x|
32
32
  end
33
33
  end
34
34
 
35
- x.report("in process cached:") do
35
+ x.report("in process cached:\t") do
36
36
  (1..n).each do |i|
37
37
  Lawnchair.cache("in_process_cache", :in_process => true) do
38
38
  expensive_stuff
@@ -45,4 +45,36 @@ Benchmark.bm(7) do |x|
45
45
  expensive_stuff
46
46
  end
47
47
  end
48
+ end
49
+
50
+ puts "**** GET vs EXISTS ****"
51
+
52
+ Benchmark.bm(7) do |x|
53
+ x.report("get: not in cache:\t\t") do
54
+ (1..n).each do |i|
55
+ Lawnchair::StorageEngine::Redis.get("redis_cache")
56
+ end
57
+ end
58
+
59
+ x.report("exist: not in cache:\t\t") do
60
+ (1..n).each do |i|
61
+ Lawnchair::StorageEngine::Redis.exists?("redis_cache")
62
+ end
63
+ end
64
+
65
+ Lawnchair.cache("redis_cache") do
66
+ expensive_stuff
67
+ end
68
+
69
+ x.report("get: in cache:\t\t\t") do
70
+ (1..n).each do |i|
71
+ Lawnchair::StorageEngine::Redis.get("redis_cache")
72
+ end
73
+ end
74
+
75
+ x.report("exist: in cache:\t\t") do
76
+ (1..n).each do |i|
77
+ Lawnchair::StorageEngine::Redis.exists?("redis_cache")
78
+ end
79
+ end
48
80
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lawnchair
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 8
10
- version: 0.6.8
9
+ - 9
10
+ version: 0.6.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Shane Wolf
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-14 00:00:00 -07:00
18
+ date: 2010-10-08 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -26,12 +26,12 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 31
29
+ hash: 15
30
30
  segments:
31
- - 0
32
- - 1
33
31
  - 2
34
- version: 0.1.2
32
+ - 0
33
+ - 0
34
+ version: 2.0.0
35
35
  type: :runtime
36
36
  version_requirements: *id001
37
37
  - !ruby/object:Gem::Dependency