积分清零Redis解决方案(积分清零和redis)
随着用户体验持续普及化,当企业要求进行积分清零时,涉及的逻辑复杂度和数据库并发量往往高达比一般情况下的百倍,极易造成数据库卡死、性能下降甚至挂掉等情况,从而影响企业的运营正常和获利目标达成。
而Redis是一个非常受欢迎的、高性能的内存数据库,可以璀璨的处理积分清零的逻辑。积分清零逻辑可以这样来实现:
1.利用Set和ZSet存储需要清零的用户open_id,按sort规则添加用户open_id。
2.采用Lua语言编写清零逻辑,支持数据库事务。
3.使用Redis的MULTI和EXEC命令支持事务:
// 批量清零操作
Multi luaRefreshScript start
ZSCORE open_id //获取open_id积分
zadd key values //把open_id设置为指定积分
Multi luaRefreshScript end
// 执行积分清零操作
Exec luaRefreshScript
4.批量处理后,检查结果并返回给应用程序层。
利用Redis来实现积分清零有着很好的性能、高效的写入速度实现了高性能的内存数据库,企业可以最大程度地提高用户体验而不会过多损失性能,同时也改善了企业的效率。
相关文章