在高并发的场景中,使用Redis计数请求频率。
如果使用get、++、set方法,在并发请求中,是线程不安全的,还需要增加锁实现线程安全。
但是使用incr本身就是线程安全的(单个Redis实例)。
同样,incr或decr或incrby或decrby,还可以使用在扣费逻辑中。先缓存用户余额到redis,redis挡在最前面处理扣费,扣费成功之后,再发送MQ到数据库更新,保证Redis和数据库的数据一致性。数据库更新需要增加重试机制,一定保证扣费更新执行成功。
Incrbyfloat可以支持浮点数。