我正在编写一个清漆模块,该模块可以验证到服务器的HTTP请求,并且我的模块具有JSON数据依赖性。 Json数据是通过在每个专用间隔时间内从我的模块对Redis服务器进行HTTP调用来获取的,并将JSON响应存储到高速缓存或共享内存中并使用。如何在不影响清漆性能的情况下实现这一目标。
我已经尝试过Linux共享内存概念来存储数据并使用它,但是我对清漆性能的提高感到惊讶。当我进行负载测试时,我看到许多使用此方法的http失败。我想知道如何缓存http请求并将其提供给用户,以便我可以使用相同的方法。
我正在使用的共享内存的逻辑是
if (memory exists){
...
read memory and retrive data
...
} else {
make a call to server
server responds with data
store data in memory
}
...
use the data for request
...
对服务器和检索数据的实际调用应该在间隔时间内发生一次。手动发推时效果很好。但是在运行负载测试时失败。。似乎是子进程问题,每个子进程都在访问这段代码并为每个请求调用服务器。 我不想为此使用互斥锁,因为它会降低性能。