Kouhei Sutou
kou****@clear*****
2011年 5月 13日 (金) 09:13:30 JST
須藤です。 In <e712017a-0066-3927-b057-b94f8dd3830a @ api105> "[groonga-dev,00512] キャッシュのクリア" on Fri, 13 May 2011 09:01:41 +0900, "Endo Akira" <endo4****@goo*****> wrote: > rails3にrroongaをいれて大量データの検索を行わせています。全文検索が必要で、 > MySQLで全文検索していた時は死ぬほど待たされました。groongaのおかげで > 快適に検索結果を提供できるようになりました。ありがとうございます。 よかったです! > さて、毎晩DBを更新しているのですが、groongaのキャッシュ機能のために、サーバー > を立ち上げなおさないとキャッシュからの検索結果が返ってきてしまいます。 > > DBの更新は夜に1回ですので、その時にキャッシュをクリアすることができます > でしょうか。 データベースの更新はrroongaで行い、検索はgroongaサーバーに HTTP(かgqtp)で行っているということであっていますか? であれば、以下のように更新が終わったあとに Groonga::Database#touchを呼んでください。 Groonga::Database.open(...) do |database| # データベースの更新 # ... database.touch end これで、groongaサーバもデータが更新されたことに気づけるので、 groongaサーバを再起動しなくてもキャッシュがクリアされるはず です! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) プログラミングが好きなソフトウェア開発者を募集中: http://www.clear-code.com/recruitment/