2016-09-08 7 views
0

私はApache Usergridをプロジェクトに使用しています。しかし、私はそのカウンターに深刻な問題があります。カウンタが更新されるまでには30秒かかることがあります。だから、私はユーザーグリッドカウンター以外のものを使いたい。私の質問は次のとおりです。Apache Usergridの代わりにカウンタ

redis、postgresql、またはmemcachedの構造体があるので、階層カウンタを使用できます。あるいは、その目的のための他のツールがありますか?

ありがとうございます。

答えて

1

Redisにはこのようなカウンタはありませんが、luaスクリプトで実装することができます。 、"first.second.third":

階層カウンター

あなたは"first.second.third" の名を持つカウンタをインクリメントするたびに、それが自動的に3つのカウンタをインクリメント「first.second」および「first」

階層カウンタのLuaスクリプト:hc.lua

local key = KEYS[1] 
while key do 
    redis.call("incrby", key, ARGV[1]) 
    key = string.match(key, "(.+)%.") 
end 

redis-cliでそれを試してみてください。

./redis-cli --eval hc.lua first.second.third , 2 
(nil) 
./redis-cli mget first first.second first.second.third 
1) "2" 
2) "2" 
3) "2" 
関連する問題