Skip to content
This repository has been archived by the owner on Feb 23, 2021. It is now read-only.

キャッシュを使ってDBアクセスを減らす #11

Open
tdtds opened this issue Dec 14, 2013 · 6 comments
Open

キャッシュを使ってDBアクセスを減らす #11

tdtds opened this issue Dec 14, 2013 · 6 comments

Comments

@tdtds
Copy link
Member

tdtds commented Dec 14, 2013

リクエストのたびにDB検索が走るので、更新のないかぎりキャッシュさせたい。memcacheへlocaleごとに入れておく感じ?

@hsbt
Copy link
Member

hsbt commented Dec 14, 2013

heroku の memcached は若干だるい(SASL認証必須でローカルで再現するのが面倒)なので redis が良いでしょうねえ。

@tdtds
Copy link
Member Author

tdtds commented Dec 14, 2013

あれ……herokuのmemcached使ってるけどそんな苦労したことない……

@machu
Copy link
Member

machu commented Dec 14, 2013

賛成です。アクセスログをDBに保存しているところも、外部サービスに飛ばせれば軽くなるのですが、無料でどこまでできるか。

@hsbt
Copy link
Member

hsbt commented Dec 14, 2013

積極的には選ばないというだけなので memcached でも ok です!

@machu
Copy link
Member

machu commented Dec 24, 2014

New Relicで計測したところ、DBアクセスは全体の1割程度 (10ms以内) でした。思ったほど遅くなかったですね。

@machu
Copy link
Member

machu commented Jan 17, 2015

Mongoidのキャッシュ機能が使えそう。
http://mongoid.org/en/mongoid/docs/extras.html#caching

[60] pry(main)> proxies = Proxy.all.cache
=> #<Mongoid::Criteria
  selector: {}
  options:  {:cache=>true}
  class:    Proxy
  embedded: false>
[61] pry(main)> proxies.cached?
=> true
[62] pry(main)> proxies.first
=> #<Proxy _id: 54b96e586d61631a5d010000, endpoint: "http://amazon-auth-proxy-machu.herokuapp.com/", name: "machu's proxy", locales: ["jp"], success: 11, failure: 0, user_id: BSON::ObjectId('54b96e2f6d61631a5d000000')>

キャッシュのクリア条件が不明(クリアされない?)ので要調査。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants