Skip to content
This repository has been archived by the owner on Mar 14, 2018. It is now read-only.

Commit

Permalink
Use memcached for new index response
Browse files Browse the repository at this point in the history
  • Loading branch information
sonalkr132 committed Mar 29, 2016
1 parent 25ea732 commit dfa69fb
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
2 changes: 2 additions & 0 deletions lib/bundler_api/cache.rb
Expand Up @@ -47,6 +47,8 @@ def purge_gem(name)

def purge_memory_cache(name)
memcached_client.delete "deps/v1/#{name}"
memcached_client.delete "info/#{name}"
memcached_client.delete "names"
end

def cdn_client
Expand Down
4 changes: 2 additions & 2 deletions lib/bundler_api/web.rb
Expand Up @@ -160,7 +160,7 @@ def json_payload(payload)
get "/names" do
status 404 unless NEW_INDEX_ENABLED
etag_response_for("names") do
CompactIndex.names(@gem_info.names)
@dalli_client.fetch('names') { CompactIndex.names(@gem_info.names) }
end
end

Expand All @@ -176,7 +176,7 @@ def json_payload(payload)
get "/info/:name" do
status 404 unless NEW_INDEX_ENABLED
etag_response_for(params[:name]) do
@gem_info.info(params[:name])
@dalli_client.fetch("info/#{params[:name]}") { @gem_info.info(params[:name]) }
end
end

Expand Down
16 changes: 15 additions & 1 deletion spec/cache_spec.rb
Expand Up @@ -73,11 +73,25 @@
let(:name) { 'bundler-1.0.0' }
subject { cache.purge_memory_cache(name) }

it 'purge memcached gem' do
it 'purge memcached gem api' do
cache.memcached_client.set("deps/v1/#{name}", "omg!")
expect(cache.memcached_client.get("deps/v1/#{name}")).to_not be_nil
subject
expect(cache.memcached_client.get("deps/v1/#{name}")).to be_nil
end

it 'purge memcached gem info' do
cache.memcached_client.set("info/#{name}", "omg!")
expect(cache.memcached_client.get("info/#{name}")).to_not be_nil
subject
expect(cache.memcached_client.get("info/#{name}")).to be_nil
end

it 'purge memcached gem names' do
cache.memcached_client.set("names", "omg!")
expect(cache.memcached_client.get("names")).to_not be_nil
subject
expect(cache.memcached_client.get("names")).to be_nil
end
end
end

0 comments on commit dfa69fb

Please sign in to comment.