我最近在我的Laravel项目之一中实现了Redis。我想了解它的功能,目前,它更多的是技术性的工作,而不是生产性的。
我所做的是创建了一个付款交易列表。我要推送到列表的是每次处理交易时从Webhook接收的有效负载。有效负载本质上是一个对象,其中包含与该特定事务有关的所有信息。
我创建了一个VueJS前端,该前端然后在表中显示所有数据并具有分页功能,因此一次显示10行。
起初这是超级快速的工作,但是现在列表包含30,000行,相当于11MB的数据,请求大约需要11秒。
我认为这里的问题是我正在使用列表,并且正在使用LRANGE提取列表中的所有行。
我使用列表的原因是因为它具有LPUSH命令,以便最新事务进入列表的开头。
我决定进行测试,从列表中获取所有数据,然后将值输出到空白页,这花费了大约相同的时间,因此对于Vue,Axios等而言,这不是问题。
正确,此读取速度正常吗?我一直都听说Redis在快速发展。
第二,使用Redis时是否有更好的方法来提高读取性能?
第三,我使用的数据类型错误吗?
我需要及时存储100万行数据。
答案 0 :(得分:0)
我意识到您可以在任何交易更新中获得所有30,000行,然后在前端对其进行分页。我认为,真正的策略是在每个请求中获取更轻量的数据包。 例如,使用Laravel分页来响应您的请求。
答案 1 :(得分:-1)
我认为:
因此,您可以先检查带宽(redis服务器)。