QA@IT
«回答へ戻る

回答を投稿

memcachedの代替としてRedisを検討されることをおすすめします。

RedisにはKEYSというコマンドがあって、これがまさにお望みのものになります。前方一致で"SomeClass:*"のような検索も可能なので、ある特定のprefixをもつキーだけに一括処理したいときなどに便利です。ただしO(N)の操作なのでキーの数が増えすぎないことが運用上の前提になります。

個人的にRedisを使うようになってからmemcachedを全くといっていいほど使わなくなりました。LRUでstale keysをパージしてくれる、という機能(まさしくキャッシュですね)が必要な場面だけでmemcachedを使う感じで、他は全てRedisを使うようになりました。

memcachedの代替としてRedisを検討されることをおすすめします。

Redisには[KEYS](http://redis.io/commands/keys)というコマンドがあって、これがまさにお望みのものになります。前方一致で`"SomeClass:*"`のような検索も可能なので、ある特定のprefixをもつキーだけに一括処理したいときなどに便利です。ただしO(N)の操作なのでキーの数が増えすぎないことが運用上の前提になります。

個人的にRedisを使うようになってからmemcachedを全くといっていいほど使わなくなりました。LRUでstale keysをパージしてくれる、という機能(まさしくキャッシュですね)が必要な場面だけでmemcachedを使う感じで、他は全てRedisを使うようになりました。