redis乐观锁实现秒杀

  1. header('content-type:text/html;charset=utf-8');  
  2. $redis = new Redis();  
  3. $result = $redis->open('192.168.1.236', 6379 , 5 );  
  4. $redis -> auth('likang');  
  5. //var_dump($redis -> set( 'b' , 123 ));  
  6. //  
  7. //var_dump( $redis -> get('b') );  
  8. //  
  9. //var_dump( $result );exit;  
  10. //echo "<pre>";  
  11. echo "页面被访问了" . $redis->incr('ci'). '<br>';  
  12. echo '总共抢到了' . $redis->lLen('s_kill') . '<br>';  
  13. echo '剩余数量' . $redis->get('s_kill_number'). '<br>';  
  14.   
  15.   
  16. $redis ->  watch('s_kill_number');  
  17.   
  18. $num_ber = $redis -> get('s_kill_number');  
  19.   
  20.   
  21. $redis -> multi();  
  22.   
  23. //print_r( $redis->lGetRange('s_kill',0 , $redis ->lLen('s_kill')));  
  24. //var_dump($num_ber);exit;  
  25.   
  26. if ( $num_ber > 0) {  
  27.     $redis->decr('s_kill_number');  
  28.     $redis->lPush('s_kill', rand(1000, 9999));  
  29.     $redis -> exec();  
  30.     exit('OK''<br>');  
  31. else {  
  32.     $redis -> exec();  
  33.     exit('抢光了''<br>');  
  34. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值