teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

問題の切り分けの方法まで記述

2017/03/01 05:53

投稿

jbking
jbking

スコア8

answer CHANGED
@@ -1,12 +1,47 @@
1
1
  redis自体はlocalhost:6379で起動していますか?
2
+
3
+ 基本的な問題の切り分けは以下の順序でおこないます。
4
+ (PythonやDjango以前の確認を含みます)
5
+
6
+ 0. redis-serverがどのアドレスで起動しているかを確認する。(起動しているアドレスとDjangoで設定しているアドレスが異なるなら変更する)
7
+ 0. redis-cliでそのアドレスに接続して繋がることを確認する。
8
+ 0. Pythonのredisモジュールで繋げるか確認する。
9
+
10
+ ---
11
+
12
+ redis-serverの起動状況の確認
2
13
  こういうコマンドで確認できます。
3
14
 
4
15
  linuxならば
5
16
  ```
6
- netstat -lnp --tcp | grep 6379
17
+ $ netstat -lnp --tcp | grep 6379
7
18
  ```
8
19
 
9
20
  Macならば
10
21
  ```
11
- netstat -ln -p tcp | grep 6379
22
+ $ netstat -ln -p tcp | grep 6379
23
+ ```
24
+
25
+ ---
26
+
27
+ redis-cliで接続
28
+
29
+ そのままコマンドで接続の確認をします。もし起動しているredis-serverがデフォルトでなければ以下のコマンドで接続先を変えて確認します。
30
+
31
+ ```
32
+ $ redis-cli -h ${アドレス} -p ${ポート番号}
33
+ ```
34
+
35
+ ---
36
+
37
+ Pythonのredisモジュールで繋げるか確認
38
+
39
+ お使いのredisモジュールによりますが、だいたいこんなかんじに確認します。
40
+
41
+ ```
42
+ $ python
43
+ >>> import redis
44
+ >>> conn = redis.Redis("localhost", 6379)
45
+ >>> conn.keys()
46
+ []
12
47
  ```

1

確認のためのコマンドを変更

2017/03/01 05:53

投稿

jbking
jbking

スコア8

answer CHANGED
@@ -1,6 +1,12 @@
1
1
  redis自体はlocalhost:6379で起動していますか?
2
2
  こういうコマンドで確認できます。
3
3
 
4
+ linuxならば
4
5
  ```
6
+ netstat -lnp --tcp | grep 6379
7
+ ```
8
+
9
+ Macならば
10
+ ```
5
- lsof -n -P -i :6379
11
+ netstat -ln -p tcp | grep 6379
6
12
  ```