class RedisClient(object):
def __init__(self):
pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
self.client = redis.StrictRedis(connection_pool=pool)
Tulis klien redis dengan kumpulan sambungan mengikut dokumentasi, dan kemudian jana tika untuk kegunaan global.
Ia telah diuji untuk menjadi normal apabila berkongsi kejadian dalam berbilang rangkaian.
Tetapi dalam kes pelbagai proses, ujian gagal
class ProcessRdeisTest(Process):
def __init__(self,client):
self._client = client
Ditulis seperti ini, apabila melaksanakan permulaan, ralat akan dilaporkan dan siri tidak dapat dilakukan.
ditukar kepada:
class ProcessRdeisTest(Process):
def __init__(self):
pass
def run(self):
self._client = RedisClient()
while Ture:
dosomething()
Ia berfungsi seperti ini, tetapi adakah kaedah sambungan ini betul? Adakah terdapat cara yang lebih baik untuk mencapai ini?
Dalam utas utama, terus
process1 = ProcessRdeisTest('p1')
process1.start()
Panggil dengan cara ini
Pemilik, python redis mempunyai kolam sambungannya sendiri: