php怎么连接mysqlphp怎么连接mysql数据库里的数据

2024-03-18 12:13:12 浏览

$con = mysql_connect("数据库地址","用户名","密码");

php怎么连接php怎么连接mys

mysql_query("INSERT INTO 表名 (字段1, 字段2, 字段N) VALUES ('字段1数据', '字段2数据', '字段3数据')");

一般情况下很少单独的这样使用,都是做成类。

你可以下载一个speedphp框架来参考一下。阅读这个框架的源码,对初学者来说相当的有帮助。

正常情况下是没有问题的,

但是有人用恶意脚本进行刷奖,也就是同一个人发起大量请求,1秒可能一两百的请求甚至更多,而且不只一个人刷奖。

举个例子,假设每人只能抽一次奖,因为请求太快,同一人的a,b两个请求几乎同时来,a走完抽奖逻辑了,并且在抽奖表中插入记录的过程时,因为mysql的性能的问题,b去走1这一步是读不到表中的记录的,因为a的插入根本没有完成。所以b请求会再走一次抽奖逻辑。造成同一人抽奖两次,然后再插入抽奖表。

我关心的是能否a插入抽奖表的瞬间,b就能判断出抽奖表有数据

所以我觉得问题是mysql写入的不够快,读取的不够快,所以我要采用redis做一层快速缓存。

我们做的抽奖是单一奖品百分之百中奖,只限制奖品数量,所以必须保证每人只能抽一次,而且尽量在程序层面去解决。

此时一位IT码农路过,并留下个人见解。

要想redis异步去同步Mysql的数据,大部分时候使用的都是队列的形式。例如php使用resque包进行部署,实现自动化队列的形式,开一些额外的线程监听,将一些操作push到队列上,然后被监听之后就执行相关的操作(某个控制器和方法)同步到Mysql表里面。

或者是采用swoole扩展,里面有封装redis的异步操作,可以很容易的实现redis的异步,然后再把数据同步到mysql上。

最后,喜欢的小伙伴可以给我点赞或者关注我哦。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。