mongocached 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/Benchmark.md +6 -9
  2. data/HISTORY.md +13 -0
  3. data/lib/mongocached.rb +9 -2
  4. metadata +3 -3
data/Benchmark.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## Benchmarks
2
+
3
+ Note: This isn't expected to quite as fast as memcached, but based on these numbers, it's a viable replacement when you need shared a shared cache and do not have a ton of memory, as diskspace is cheap. If you don't need shared storeage and memory is still an issue, check out [Diskcached](https://github.com/rubyops/diskcached), [it's faster](https://github.com/rubyops/diskcached/wiki/Benchmark-Output).
4
+
5
+
1
6
  ### Ruby 1.9.3p194
2
7
 
3
8
  mo = mongocached / me = memcached
@@ -20,15 +25,7 @@ me set 15.510000 2.340000 17.850000 ( 20.471940)
20
25
  mo get 39.740000 3.350000 43.090000 ( 47.473688)
21
26
  me get 14.950000 1.420000 16.370000 ( 17.187145)
22
27
  </pre>
23
-
24
- #### large hash * 100000
25
- <pre>
26
- user system total real
27
- mo set 40.650000 1.180000 41.830000 ( 42.026839)
28
- me set 16.590000 2.060000 18.650000 ( 20.909275)
29
- mo get 49.400000 5.650000 55.050000 ( 63.141785)
30
- me get 11.760000 1.810000 13.570000 ( 14.814693)
31
- </pre>
28
+
32
29
 
33
30
  ### Ruby 1.9.2p318
34
31
 
data/HISTORY.md CHANGED
@@ -1 +1,14 @@
1
+ # HISTORY
2
+
3
+ ## v1.0.1
4
+
5
+ * Added authentication support
6
+
7
+ c = Mongocached.new( { username: 'uname', password: 'pword' } )
8
+
9
+
10
+ ## v1.0.0
11
+
12
+ * Birth
13
+
1
14
 
data/lib/mongocached.rb CHANGED
@@ -2,13 +2,14 @@ require 'mongo'
2
2
  # @author Joshua P. Mervine <joshua@mervine.net>
3
3
  class Mongocached
4
4
  # version for gem
5
- VERSION = '1.0.0'
5
+ VERSION = '1.0.1'
6
6
 
7
7
  @cleanup_last = nil
8
8
  @ensure_indexes = false
9
9
 
10
10
  # initialize object
11
11
  def initialize options={}
12
+
12
13
  @options = defaults.merge! options
13
14
 
14
15
  unless @options[:lifetime].nil?
@@ -186,7 +187,13 @@ class Mongocached
186
187
  end
187
188
 
188
189
  def db
189
- @db ||= connection[@options[:dbname]]
190
+ unless @db
191
+ @db = connection[@options[:dbname]]
192
+ if @options.has_key?(:username) and @options.has_key?(:password)
193
+ @db.authenticate(@options[:username], @options[:password])
194
+ end
195
+ end
196
+ @db
190
197
  end
191
198
 
192
199
  def connection
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongocached
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -61,7 +61,7 @@ dependencies:
61
61
  version: '0'
62
62
  description: Simple mongodb based cache for things like Sinatra and Rails which is
63
63
  implemented much like Memcached in hopes that in some cases they're interchangeable.
64
- It's based off 'diskcached'. This gem should be considered 'alpha'!
64
+ It's based off 'diskcached'.
65
65
  email:
66
66
  - joshua@mervine.net
67
67
  executables: []
@@ -88,7 +88,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
88
88
  version: '0'
89
89
  segments:
90
90
  - 0
91
- hash: -4487074619354158587
91
+ hash: 3423716277356422672
92
92
  required_rubygems_version: !ruby/object:Gem::Requirement
93
93
  none: false
94
94
  requirements: