我正在使用 Redis 与我的 Ruby on Rails 应用程序,使用 redis-objects、dm-core 和 dm-redis-adapter 将 Ruby 对象映射到 Redis 中。以下是代码片段。
Gemfile
gem 'redis-objects'
gem "dm-core", "~> 1.2.1"
gem "dm-redis-adapter"
/config/initializers/redis.rb
// LOCAL REDIS SERVER
Redis.current = Redis.new(:host => '127.0.0.1', :port => 6379)
// REMOTE REDIS SERVER
#Redis.current = Redis.new(:host => '<VM IP>', :port => <VM PORT>, :password => '<PASSWORD>')
Model.rb
DataMapper.setup(:default, {:adapter => "redis"})
class User
include Redis::Objects
include DataMapper::Resource
include ActiveModel::Validations
include ActiveModel::Conversion
# datamapper fields, just used for .create
property :id, Serial
property :name, String
property :email, String
property :des, Text
def id
1
end
end
User.finalize
对于本地redis服务器,它可以正常工作。为什么应用程序总是指向本地redis,即使提供了远程主机和端口?
已解决:请查看我的答案。