Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 使用Redis作为Rails的数据存储时应用哪种设计模式_Ruby On Rails_Redis - Fatal编程技术网

Ruby on rails 使用Redis作为Rails的数据存储时应用哪种设计模式

Ruby on rails 使用Redis作为Rails的数据存储时应用哪种设计模式,ruby-on-rails,redis,Ruby On Rails,Redis,我正在考虑使用Redis来存储我不想从数据库中取出的东西、用户计数、跟随者ID、Rails必须吐出的长URL。。。等等,我正试图找到一种方法来设计我的应用程序来做到这一点 我想知道是否应该采取这样的方法,即redis是一个持久性数据存储,我必须在运行应用程序之前加载它 大概是 Post < ActiveRecord::Base def thumbnail_url #get redis value end end Post

我正在考虑使用Redis来存储我不想从数据库中取出的东西、用户计数、跟随者ID、Rails必须吐出的长URL。。。等等,我正试图找到一种方法来设计我的应用程序来做到这一点

我想知道是否应该采取这样的方法,即redis是一个持久性数据存储,我必须在运行应用程序之前加载它

大概是

Post < ActiveRecord::Base
   def thumbnail_url
      #get redis value
   end
end
Post
或者我真的应该把Redis看作是一种更为短暂的存储,在这里我可以做同样的事情

Post < ActiveRecord::Base
   def thumbnail_url
      if redis value exists
         get it
      else
         do some ruby stuff and return string #hit Active record
      end
   end
end
Post

或者我还有别的想法吗?

你见过这块宝石吗,这将有助于活动记录。

是的,我刚刚做了,问题是似乎没有初始化值的方法。所以我想不出一个办法。。。说。。。post.redis\u缩略图\u url从ActiveRecord返回一个值,如果它不在redis中。听起来您需要一个NullObject设计模式