我正在寻找一种将rails应用程序连接到用于存储缓存的弹性缓存的方法。为了测试的目的,我试着用redis-cli进行测试,它工作得很好。是否有任何库或文档可用于连接到弹性缓存。我已经试着搜索了,但是没有运气
redis-cli -h primary-endpoint --tls -p 6379 -a "token"
我尝试用下面的代码与redis-rails gem,但它没有工作
REDIS_CONFIG = {
"url"=>"primary_endpoint",
"port"=>6379
}
@redis_token_store ||= Redis.new(REDIS_CONFIG)
@redis_token_store.set(1, "2")
我得到以下错误
/usr/local/bundle/gems/redis-4.0.1/lib/redis/client.rb:344:in `rescue in establish_connection': Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) (Redis::CannotConnectError)
/usr/local/lib/ruby/3.0.0/socket.rb:1214:in `__connect_nonblock': Connection refused - connect(2) for 127.0.0.1:6379 (Errno::ECONNREFUSED)
/usr/local/lib/ruby/3.0.0/socket.rb:1214:in `__connect_nonbloc: Operation now in progress - connect(2) would block (IO::EINPROGRESSWaitWritable)
另外,不确定如何在配置
中传递令牌我已经找到了解决方案,如果有人遇到同样的他可以参考
我使用的gem是redis-rails
Redis.new(url: "rediss://primary_endpoint:port_number", password: "")
注意">这是强制性的,否则将无法从弹性缓存
建立连接。
供参考身份验证令牌(从AWS Secret Manager获取)可以传递到密码