Apache Usergrid计数器的替代方案

时间:2016-09-08 11:42:45

标签: postgresql redis counter usergrid

我正在使用Apache Usergrid进行项目。但是我的计数器存在严重问题。计数器可能需要30秒才能更新。所以我想使用usergrid计数器以外的东西。我的问题是:

是否有redis,postgresql或memcached的结构,我将能够使用分层计数器。或者还有其他工具用于此目的吗?

谢谢大家。

1 个答案:

答案 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"