我正在使用laravel 5.7 我需要获取汇率,我想创建一个调度程序并每5分钟运行一次 现在,您是否认为可以将货币信息放入配置文件中或将其保存到数据库中?当然,我认为缓存可以,对吗?
答案 0 :(得分:1)
根据您的情况,数据将仅在5分钟内更改。因此,当您获得费率时,只需将其存储在数据库中,然后获取新值并对其进行缓存,并从缓存的信息中为用户提供费率。但是,在接下来的5分钟内,如果您获得最新的费率,则必须清除现有缓存,将新值存储到数据库中,然后从数据库中获取新值并存储到缓存中,然后再次从新的缓存内容中将费率提供给用户。
如果数据库每天都在增长,则必须添加其他逻辑以每隔5分钟不要将数百万条记录存储到缓存中。我建议不要将动态内容存储到缓存中。无论如何,如果要缓存,可以使用Redis,Memcached等。但是请记住清除并再次将新内容存储到缓存中。
如果您仅每5分钟获得一次每日费率,而不将任何内容存储到数据库中,那么您可以使用我在上面没有数据库部分介绍的逻辑。将记录直接保存到缓存中,并在获取新费率时清除。
,还向数据库表添加 index 以更快地获取数据。