我的网站上有一个简单的每日点击计数器,我想使用Redis作为数据存储区.
仅仅因为redis有一个过期,我不必设置一个cron来清除数据.另外我想尝试一下.
我以URL为基础存储每日点击量.
如何存储网址的每日点击量,然后让它们在一天结束时到期.
例如:
incr today:www.google.com >> 1 incr today:www.google.com >> 2 incr today:www.google.com >> 3 incr today:www.yahoo.com >> 1 incr today:www.yahoo.com >> 2
我如何让这些柜台在一天结束时到期?如果我过期,它会重置计数器.
我觉得我的思维过程已经过去了.我倒退了吗?
您需要使用当前日期作为关键而不是"今天".
设置当前日期的哈希值,每个url是该哈希值中的键.那么你的更新就是
HINCRBY 101021 www.google.com 1
一旦你不想再保留数据,就可以使用DEL命令删除一天的整个哈希 - 也许可以设置一个手动触发的脚本,该脚本在1到2个月之间调用DEL.
虽然我没有尝试过,但是设置哈希的到期可能也会有效 - 每天使用不同的密钥意味着你不依赖于在精确时间发生的到期,就像你使用"今天"密钥一样.