PHP操作Redis增删查改笔记

2020-03-25  本文已影响0人  LeeYaMaster

业务需求:
我要解决课程秒杀,于是我用了redis五种数据类型的字符串类型,原因是因为有个自增,自减,适合秒杀。因为刚用PHP做秒杀,如果有更好的解决方式,请赶紧告诉我。


表结构1 表结构2
            //增加
            $redis=my_redis();
            $redis->set('course_1',20);
            $redis->set('user_1' ,json_encode([]));
            //修改,选课,用户数量减少
            $redis = my_redis();
            if($redis->get('course_1') < 0){
                $this->apiReturn(303,'课程已被抢完');
            }
            $redis->decr('course_1');
            $data = $redis->get('user_1');//获取key [value]
            $data = json_decode($data,JSON_UNESCAPED_UNICODE);
            array_push($data,5);
            $data = json_encode($data);
            $redis->getset('user_1',$data);
            //修改,用户取消选课,用户数量增加
            $redis = my_redis();
            $redis->incr('course_1');
            $data = $redis->get('user_1');//获取key [value]
            $data = json_decode($data,JSON_UNESCAPED_UNICODE);
            $data = array_diff($data, [5]);
            $data = json_encode($data);
            $redis->getset('user_1',$data);
            //查询所有信息
            $redis = my_redis();
            $people_num =  $redis->get('course_1');
            $data = $redis->get('user_1');
            $data = json_decode($data,JSON_UNESCAPED_UNICODE);
            $result = ['people_num'=>$people_num,'user'=>$data];

https://www.cnblogs.com/hbf66-88/p/11536232.html,另外推荐一篇jmeter写的很好的博客,我先用的就是这个。

上一篇下一篇

猜你喜欢

热点阅读