0

我正在为一个项目使用 Apache Usergrid。但是我的计数器有一个严重的问题。更新计数器可能需要 30 秒。所以我想使用用户网格计数器以外的东西。我的问题是:

是否有用于 redis、postgresql 或 memcached 的结构,我将能够使用分层计数器。或者有没有其他工具可以达到这个目的?

谢谢你们。

4

1 回答 1

1

中没有这样的计数器Redis,但是您可以使用 lua 脚本实现一个。

分层计数器

每次你增加一个名为"first.second.third"的计数器时,它会自动增加 3 个计数器:"first.second.third""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"
于 2016-09-08T13:53:32.377 回答