应用场景
- 高并发,秒杀场景
步骤
- set key = 0
- watch key
- 开启事务 multi
- set key + 1
- 事务操作
代码实现
$redis = new Redis("127.0.0.1", 6739);
$key = "incr_key";
$redis->set($key, 0);
$redis->watch($key);
$value = (int) $redis->get($key);
if ($value < 100) {
$redis->multi();
$redis->incr($key);
$res = $redis->exec();
if ($res) {
echo "success";
} else {
echo "error";
}
}
网友评论