我正在使用Apache Usergrid进行项目。但是我的计数器存在严重问题。计数器可能需要30秒才能更新。所以我想使用usergrid计数器以外的东西。我的问题是:
是否有redis,postgresql或memcached的结构,我将能够使用分层计数器。或者还有其他工具用于此目的吗?
谢谢大家。
答案 0 :(得分:1)
Redis
中没有这样的计数器,但您可以使用lua脚本实现一个。
分层计数器
每次增加一个名为“first.second.third”的计数器时,它会自动增加3个计数器:“first.second.third”,< em>“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"