2017-04-03 1 views
3

내가 사용작업 케이블 5에 Redis가 필요합니까?

rails (5.0.2) 
actioncable (5.0.2) 
puma (3.8.2) 

나는 그것이 레디 스없이 작동하지 않았다 년 전에 레일 5 액션 케이블 데모 채팅을 - 그리고 지금은 않습니다! (bundle update 이후).

즉, Redis없이 개발 모드 에서 작동하도록 데모 채팅을 만들었습니다.

development: 
    adapter: async 

test: 
    adapter: async 

production: 
    adapter: async 

rails c을 시작 :이 같은 the config/cable.yml을 설정합니다. 그게 전부입니다. 채팅이 정상적으로 작동합니다. 문제 없습니다. 따라서 Redis는 분명히 더 이상 필요하지 않습니다.

또한 내 데모 채팅을 Redis으로 으로 채팅 할 수있는 방법을 찾았습니다. 이렇게하려면이 같은 the config/cable.yml을 변경 : 내 Gemfile (+ bundle install)에 gem 'redis', '~>3.2'를 추가

redis: &redis 
    adapter: redis 
    url: redis://localhost:6379/1 

production: *redis 
development: *redis 
test: *redis 

보다 레디 스 redis-server을 시작하고 rails c.

그래서 제 질문은 다음과 같습니다

  1. 액션 케이블 5 레디 스 작동 할 필요합니까? (보이지는 않지만 잘 모르겠습니다).
  2. (분명히) 액션 케이블 5가 작동 할 수있는 경우 Redis가 있거나없는 경우 - 다른 점은 무엇입니까?
  3. gem 'redis', '~>3.2'은 무엇입니까? 그것은 무엇을위한 것인가?

일반적으로 Redis 사용 (비 사용?) 측면에서 Action Cable 5의 올바른 사용법을 알 수 없습니다. 개발 또는 생산 모드에 어떤 차이가 있습니까?

답변

3

작업 케이블 5에는 Redis가 필요합니까?

No. documentation에 따르면 다른 어댑터를 사용할 수 있습니다.

동작 케이블은 pubsub 내부를 처리하는 가입 어댑터 인터페이스를 제공합니다. 기본적으로 비동기식, 인라인, PostgreSQL, 이벤트가 발생하는 Redis 어댑터 및 이벤트가 발생하지 않은 Redis 어댑터가 포함됩니다. 새로운 레일스 애플리케이션의 기본 어댑터는 비동기 (비동기) 어댑터입니다.

질문 :

합니까 액션 케이블 5 레디 스 작동해야? (보이지 않지만 나는 입니다.).

(분명히) 액션 케이블 5가 레디 스와 함께 작동하거나 작동하지 않는 경우 - 차이점은 무엇입니까?

차이점이없는 ActionCable의 경우에는 추상화 adapter을 사용하며 전송 프로토콜에 종속되지 않습니다.

gem 'redis', '~>3.2'은 무엇입니까? 그것은 무엇을위한 것인가?

redis를위한 것이며 redis-server와의 통신을위한 인터페이스를 제공합니다.

관련 문제