用户请求会先请求redis,如果没有数据,才会读取mysql,并写入redis。例如,十万的并发请求mysql(因为redis没有此数据),如何保证读取一次mysql后,剩下的十万请求读取redis。有什么解决高并发的方案吗
读取一次mysql创建一个redis key value 秘钥,再次请求mysql,验证这个秘钥,如果能取到值就读redis ,
高并发可以使用nginx,可以直接配一个试试,一劳永逸
觉得你这个问题有些考虑多余了, 楼主意思应该是第一次查询之后 ,剩下对的99999次都应该是读取redis吧, 首先10W请求不可能同时都到执行到查询数据的地方,总会有先后差的,而且请求处理能力也不能有这么快,所以总会有部分请求仍然查询到的是mysql数据, 但是绝大部分还是会读取的redis,这个并不会对程序造成多大影响。我觉得更应该关注的是你的程序对请求的处理的能力,是否考虑楼上所说使用nginx负载