เจเจพเจฃ เจชเจเจพเจฃ
เจเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจเฉเฉฐเจเฉ/เจฎเฉเฉฑเจฒ เจธเจเฉเจฐเฉเจเจผ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจตเฉเจเฉเจ, เจเจฟเจตเฉเจ เจเจฟ เจฎเฉเจฎเจเฉเจธเจผเฅค เจเจน เจธเจงเจพเจฐเจจ เจฐเฉเจช เจตเจฟเฉฑเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉ - เจกเฉเจเจพ เจจเฉเฉฐ เจฎเฉเจฎเฉเจฐเฉ เจตเจฟเฉฑเจ, เจนเฉเจธเจผเจฎเฉเจช เจขเจพเจเจเฉ เจตเจฟเฉฑเจ เจธเจเฉเจฐ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจนเจจเจพเจ เจจเฉเฉฐ เจเฉฑเจ tcp เจธเจพเจเจ เจฆเฉเจเจฐเจพ เจเจเจธเฉเจธ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจชเจพเจเจฅเจจ เจตเจฟเฉฑเจ, เจนเฉเจธเจผเจฎเฉเจช เจเฉฑเจ เจจเจฟเจฏเจฎเจฟเจค เจกเจฟเจเจ เจนเฉเฅค เจชเจนเฉเฉฐเจ เจฒเจ เจ
เจธเฉเจ zeromq เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉเฅค
เจตเจฟเจตเจธเจฅเจพ
เจเจธ เจชเฉเจเฉเจ เจจเฉเฉฐ เจกเฉเจฌเฉเจ
เจจ/เจเจฌเฉฐเจเฉ เจตเจฟเฉฑเจ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ, เจธเจฟเจฐเจซเจผ เจเฉฐเจธเฉเจฒ เจตเจฟเฉฑเจ เจฆเจพเจเจฒ เจนเฉเจตเฉ
sudo apt-get install libzmq-dev
sudo pip install zmq
เจเฉเจก
เจเจ เจธเจพเจกเฉ เจธเจฐเจตเจฐ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจฒเจพเจธ เจฒเจฟเจเฉเจ:
เจตเจฐเจคเฉ เจเจ zmq เจธเจพเจเจ เจฆเฉ เจเจฟเจธเจฎ REQ (เจฌเฉเจจเจคเฉ, เจฌเฉเจจเจคเฉ) เจนเฉ, เจ
เจธเฉเจ เจเฉฑเจ เจฌเฉเจจเจคเฉ เจญเฉเจเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจเจตเจพเจฌ เจฆเฉ เจเจกเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจจเฉเฉฑเจเจตเจฐเจ เจเฉฑเจคเฉ เจเจฟเจธเฉ เจตเฉ เจเจฟเจธเจฎ เจฆเฉ เจกเฉเจเจพ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจ
เจคเฉ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจเจฐเจจ เจฒเจ, เจ
เจธเฉเจ เจธเจเฉเจเจกเจฐเจก เจ
เจเจพเจฐ เจฎเฉเจกเฉเจเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจเฉฐเจฎ "เจชเฉเจฐเฉเจเฉเจเฉเจฒ" เจคเจฟเฉฐเจจ เจฎเฉเฉฑเจฒเจพเจ เจฆเจพ เจเฉฑเจ เจเฉเจชเจฒ เจนเฉ: (เจเจฎเจพเจเจก, เจเฉเฉฐเจเฉ, เจกเฉเจเจพ)
import zmq
import pickle
class SuperCacher:
def __init__(self):
context = zmq.Context()
self.socket = context.socket(zmq.REQ)
self.socket.connect('tcp://127.0.0.1:43000')
def get(self, key):
self.socket.send(pickle.dumps(('get', key, None)))
return pickle.loads(self.socket.recv())
def set(self, key, data):
self.socket.send(pickle.dumps(('set', key, data)))
return self.socket.recv() == b'ok'
เจตเจฐเจคเฉเจ เจเจฐเฉ
เจเฉเจธเจผ = เจธเฉเจชเจฐ เจเฉเจเจฐ ()
cache.set('เจเฉเฉฐเจเฉ', 'เจฎเฉเฉฑเจฒ')
cache.get('เจเฉเฉฐเจเฉ')
เจนเฉเจฎเจตเจฐเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ, เจเจฒเจพเจธ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจฃ เจฌเจฃเจพเจเจเจฆเฉ เจธเจฎเฉเจ เจเฉฑเจ เจชเจคเจพ/เจชเฉเจฐเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจฏเฉเจเจคเจพ เจจเฉเฉฐ เจเฉเฉ เจเฉ เจฒเจพเจเฉเจเจฐเจจ เจตเจฟเฉฑเจ เจธเฉเจงเจพเจฐ เจเจฐเฉเฅค
เจนเฉเจฃ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจเฉเจฆ เจฒเจฟเจเจฆเฉ เจนเจพเจเฅค
เจเจธ เจตเจพเจฐ เจธเจพเจเจ REP(REPly, เจเจตเจพเจฌ) เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจเจ เจนเฉ - เจ
เจธเฉเจ เจฌเฉเจจเจคเฉ เจฆเฉ เจเจกเฉเจ เจเจฐ เจฐเจนเฉ เจนเจพเจ, เจเจตเจพเจฌ เจญเฉเจ เจฐเจนเฉ เจนเจพเจเฅค เจ
เจธเฉเจ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจฒเจฟเจเจฃ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ เจเจพเจ เจคเจพเจ 'เจ เฉเจ' เจจเจพเจฒ เจเจตเจพเจฌ เจฆเจฟเฉฐเจฆเฉ เจนเจพเจ, เจเจพเจ เจชเฉเฉเจนเจจ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ เจกเฉเจเจพ / เจเฉเจ เจจเจนเฉเจเฅค
import pickle
import json
import zmq
def run_daemon():
memory = {}
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind('tcp://127.0.0.1:43000')
while True:
try:
command, key, data = pickle.loads(socket.recv())
if command == 'set':
memory[key] = data
socket.send(b'ok')
elif command == 'get':
result = memory.get(key, None)
socket.send(pickle.dumps(result))
except Exception as e:
print(e)
if __name__ == '__main__':
run_daemon()
เจธเจญ เจเฉเจ เจเจเฉฑเจ เฉ เจเฉเจธเจ เจเจฐเจจ เจฒเจ, เจ
เจธเฉเจ เจเจฎเจพเจเจก เจจเจพเจฒ เจธเจฐเจตเจฐ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเจพเจ
python daemon.py
เจ เจเจฒเฉ เจเฉเจฌ เจตเจฟเฉฑเจ, python เจจเฉเฉฐ เจเฉฐเจเจฐเจเจเจเจฟเจต เจฎเฉเจก เจตเจฟเฉฑเจ เจฒเจพเจเจ เจเจฐเฉเฅค
>>> from lib import SuperCacher
>>> cache=SuperCacher()
>>> cache.set('key', 'value')
True
>>> cache.get('key')
'value'
เจ เจเจฎเจคเจเจพเจฐ, เจเจน เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ! เจนเฉเจฃ เจคเฉเจธเฉเจ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจขเฉฐเจ เจจเจพเจฒ เจเจชเจฃเฉ เจฐเฉเจเจผเจฟเจเจฎเฉ เจตเจฟเฉฑเจ "zmq เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจฎเฉเฉฑเจ-เจฎเฉเฉฑเจฒ เจธเจเฉเจฐเฉเจ เจฆเจพ เจตเจฟเจเจพเจธ" เจฒเจฟเจ เจธเจเจฆเฉ เจนเฉเฅค
เจธเจฐเฉเจค: www.habr.com