Python 및 JSON에 문제가 있습니다.Redis를 통한 Python 및 JSON이 작동하지 않는 것 같습니다.
1) JSON을 통해 Redis에 사전을 보냅니다.
#This is a dictionary
args = {"last_observed_date": "2014-04-08T02:05:00", "tau": 2, "interval": 5, "backcast": 5, "series": "exr:EUR_USD:2014-04-08T02:05:00", "K": 5, "is_difference": false, "M": 3, "is_log": false, "last_time": null, "pair": "EUR_USD", "granularity": "minute", "series_name": "closeBid", "method": [{"ols": {"alpha": 0.5}}]}
생산자 서버 : 나는 소비자에서 생산자와 부하에 DICT를 덤프 JSON을 사용
args = json.dumps(args)
r.lpush(model_queue,args)
소비자 서버 :
args = r.brpop(model_queue,0)[1]
args = json.loads(args)
Traceback (most recent call last):
File "/home/ubuntu/workspace/forex-trading/chaos/chaos_worker.py", line 38, in <module>
data = json.loads(data)
File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
내 질문은 왜, 내가 덤프 때 사전을 문자열로 사용하면 Redis에서 검색 할 때 디코딩 할 수 없습니까?
흐름 : 사전 - 문자열 -> redis -> 문자열을 사전으로. 나는 생산자에게 덤핑하고 소비자에게 짐을 싣는다.
당신은 질문을 잊어 버렸습니다. – Adam
''json.loads'에 어떤 타입을 전달합니까? – mgilson
사전. 해시 – Tampa