Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 缓存数据库调用ajax自动完成,以在类固醇上作为标记_Ruby On Rails_Caching - Fatal编程技术网

Ruby on rails 缓存数据库调用ajax自动完成,以在类固醇上作为标记

Ruby on rails 缓存数据库调用ajax自动完成,以在类固醇上作为标记,ruby-on-rails,caching,Ruby On Rails,Caching,我正在使用(底部)中的说明进行ajax调用,以自动完成标记列表,实际上有点像这个网站所做的 它工作得很好,但似乎有点效率低下,因为标签列表几乎从不改变。有没有人对如何改进这一点提出建议?比如,如果我可以将标签列表的副本存储在内存中的某个地方,然后只查询该副本而不是查询数据库 @tags = Tag.restrict_taggable_type("Document").find(:all, :conditions => ["name LIKE ?", "%#{params[:tag]}%"]

我正在使用(底部)中的说明进行ajax调用,以自动完成标记列表,实际上有点像这个网站所做的

它工作得很好,但似乎有点效率低下,因为标签列表几乎从不改变。有没有人对如何改进这一点提出建议?比如,如果我可以将标签列表的副本存储在内存中的某个地方,然后只查询该副本而不是查询数据库

@tags = Tag.restrict_taggable_type("Document").find(:all, :conditions => ["name LIKE ?", "%#{params[:tag]}%"])
谢谢

@tags ||= Tag.restrict_taggable_type("Document").find(:all, :conditions => ["name LIKE ?", "%#{params[:tag]}%"])

嗯?

嘿,好吧。然后,每当标签集被修改时,我就再设置一次,嗯?是的。例如,每分钟、每60次请求使其无效,或者使用附加查询检查数据库更改(即通过计算标记)。