- <?php
- header('content-type:text/html;charset=utf-8');
- $redis = new Redis();
- $result = $redis->open('192.168.1.236', 6379 , 5 );
- $redis -> auth('likang');
- //var_dump($redis -> set( 'b' , 123 ));
- //
- //var_dump( $redis -> get('b') );
- //
- //var_dump( $result );exit;
- //echo "<pre>";
- echo "页面被访问了" . $redis->incr('ci'). '<br>';
- echo '总共抢到了' . $redis->lLen('s_kill') . '<br>';
- echo '剩余数量' . $redis->get('s_kill_number'). '<br>';
- $redis -> watch('s_kill_number');
- $num_ber = $redis -> get('s_kill_number');
- $redis -> multi();
- //print_r( $redis->lGetRange('s_kill',0 , $redis ->lLen('s_kill')));
- //var_dump($num_ber);exit;
- if ( $num_ber > 0) {
- $redis->decr('s_kill_number');
- $redis->lPush('s_kill', rand(1000, 9999));
- $redis -> exec();
- exit('OK'. '<br>');
- } else {
- $redis -> exec();
- exit('抢光了'. '<br>');
- }
该博客介绍如何使用Redis的乐观锁机制来实施秒杀功能。通过连接Redis服务器,进行 incr 操作记录页面访问次数,使用 watch、multi、exec 命令确保在并发环境下安全地减少商品库存并添加抢购成功的用户ID到列表中。当商品剩余数量为0时,停止抢购操作。
1780

被折叠的 条评论
为什么被折叠?



