为了账号安全,请及时绑定邮箱和手机立即绑定

Redis-最佳的数据结构,用于存储然后获取大数据

Redis-最佳的数据结构,用于存储然后获取大数据

PHP
沧海一幻觉 2021-04-28 13:12:57
我最近将Redis实施到了我的Laravel项目之一。我想了解它的功能,目前,它更多的是技术性的而不是生产性的。我所做的是创建了一个付款交易清单。我要推送到列表的是每次处理交易时从Webhook接收到的有效负载。有效负载本质上是一个对象,其中包含与该特定事务有关的所有信息。我创建了一个VueJS前端,然后在一个表中显示所有数据并具有分页功能,因此它一次显示10行。最初这是超级快速的工作,但是现在列表包含30,000行,这大约是11MB的数据,请求大约需要11秒。我认为这里的问题是我正在使用列表,并且正在使用LRANGE从列表中获取所有行。我使用列表的原因是因为它具有LPUSH命令,以便最新事务进入列表的开头。我决定做一个测试,从列表中获取所有数据,然后将值输出到空白页,这大约花费了相同的时间,因此对于Vue,Axios等而言,这不是问题。抱歉,此读取速度正常吗?我一直都听说Redis在快速发展。其次,使用Redis时是否有更好的方法来提高读取性能?第三,我使用的数据类型错误吗?及时,我需要能够存储100万行数据。
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

我意识到您可以在任何交易更新中获得所有30,000行,然后在前端对其进行分页。我认为,真正的策略是在每个请求中获取更轻量的数据包。例如,使用Laravel分页来响应您的请求。


查看完整回答
反对 回复 2021-05-28
?
精慕HU

TA贡献1845条经验 获得超8个赞

在我看来:

  • 首先:如您所知,Redis快速发展,Redis确实非常快。由于Redis数据始终在内存中,因此您说读取11MB的使用11s数据,则可以检查带宽

  • 其次:对不起,我不知道如何增加这个环境。

  • 第三:我认为您的选择还可以。

因此,您可以先检查带宽(redis服务器)。


查看完整回答
反对 回复 2021-05-28
  • 2 回答
  • 0 关注
  • 209 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信