在Ruby on Rails上使用Redis Store的方法_ruby專題

來源:互聯網
上載者:User

Redis Store 是一個專為Ruby應用程式服務的工具包,原生就支援分區,主從複製,編組以及逾時和命名空間。此外,在Ruby on Rails上使用它也是非常的簡單。
 如何使用:
對於在Rails上使用Redis Store,首先我們需要在Gemfile檔案中添加入口
 

gem 'redis-rails'gem 'redis-rack-cache' # optional

然後我們就會有如下選擇:

## Cache Store# config/environments/production.rbconfig.cache_store = :redis_store ## Session Store# config/initializers/session_store.rbMyApplication::Application.config.session_store :redis_store,servers: ['redis://:secret@192.168.6.23:6379/0', 'redis://:secret@192.168.6.99:6379/1'] ## HTTP Cache# config.rurequire 'rack'require 'rack/cache'require 'redis-rack-cache' use Rack::Cache,metastore: 'redis://localhost:6379/0/metastore',entitystore: 'redis://localhost:6380/0/entitystore'

如你所見,使用這個外掛程式相當簡單,但現在我要教你如何去管理這些設定。
第一個案例不言自明,我們來說說用 ActiveSupport 來載入Redis Store。這裡請記住,Redis的contraire僅僅只能支援字串,所以可以利用序列化與還原序列化技術來儲存任何對象。

這裡的第二個案例就稍微複雜一點。首先,我們需要使用一個伺服器叢集。這裡再重複一遍,Redis Store支援分區,也就意味著Http會話在兩台伺服器之間都是互相透明可見的。

最後一個案例主要涉及到Ruby的Http緩衝代理,這些緩衝的主要作用就是為了加快Http響應,而且也是以名值對的方式來儲存meta資料以及entity實體物件的,這裡也提一下,如果我們儲存的都是普通的字串文本,那麼 mashalling模組也是不需要啟動的。

雖然說了這麼多,但就上面幾點也只是 Redis store 所有功能的一小部分而已,其實它還支援Rack,Sinatra以及I18n。

總結

我個人認為 Redis 基本算是你的伺服器環境必須用用的一個外掛程式,它速度快而且可使用範圍廣泛,比如可以作為資料庫,緩衝,分區機等等,真算得上是一個不錯的工具。然而任何好處都是有代價的:與Rails一樣,為了使用它,你必須花費大量的時間與安裝與配置才能在效能,以及記憶體使用量上找到一個絕佳的平衡點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.