如何在使用redis-rails gem時更改Rails上的存儲方法。我將緩存存儲設置爲使用redis,然後按照記錄使用Rails.cache.fetch。它完全按預期工作,但是當檢索密鑰時,輸出不是一種容易編輯的格式。在這裏使用redis-desktop-manager是輸出: http://imgur.com/cE1pAy1如何更改Rails redis緩存格式?
(沒有敏感信息,隨機生成)。有沒有辦法將它存儲爲JSON?我的最終目標是能夠使用Java連接到redis服務器,併爲redis陣列中的特定用戶更新字段。
這裏是我使用的高速緩存:
Rails.cache.fetch("some_key", expires_in: 1.day) do
User.all.to_a.each do |user|
user.name = "foobar"
end
後來,從Java,我想能夠連接到Redis的,並設置一些用戶的ID或其他一些屬性名稱。我如何反序列化Redis數據或將其存儲爲類似JSON的內容以輕鬆解析和更改屬性?
編輯好吧,我找到了一種方法來重寫redis-store中的編組代碼(redis-rails需要)來使用YAML,我可以反序列化。現在我的下一個問題是這樣的:使用redis將表示用戶數組的YAML文件存儲到單個密鑰中,然後更新整個yaml文件(僅進行一次或兩次遞增或遞減更改)經常在Java中?
當前YAML文件是用Java編寫的遊戲中的用戶及其殺死和死亡列表。 Java遊戲需要經常更新YAML文件中的密鑰,這意味着獲取整個YAML文件,解析它,更改值,返回YAML格式並將其設置爲關鍵值。這究竟有多低效(我應該擔心),以及如何讓Rails redis更喜歡將每個用戶存儲爲單獨的密鑰(如果需要)?