Sadece redis.Redis
kullanın. Kaputun altındaki bir bağlantı havuzunu kullanır, bu yüzden bu seviyede yönetmek için endişelenmenize gerek yoktur.
Kesinlikle düşük düzeyde bir bağlantı kullanmanız gerekiyorsa, normal olarak sizin için yapılan yanıt işlemesini redis.Redis
ile yapmanız gerekir. İşte
düşük seviyeli bağlantısı kullanarak tek bir talimatının uygulanması için bir örnek:
def execute_low_level(command, *args, **kwargs):
connection = redis.Connection(**kwargs)
try:
connection.connect()
connection.send_command(command, *args)
response = connection.read_response()
if command in redis.Redis.RESPONSE_CALLBACKS:
return redis.Redis.RESPONSE_CALLBACKS[command](response)
return response
finally:
del connection
Örnek kullanımı:
response = execute_low_level(
'HGET', 'redis:key', 'hash:key', host='localhost', port=6379)
Ama daha önce söylediğim gibi, redis.Redis
99.9% olarak gitmek yoludur vakaların
[Kaynak kodu] 'na (https://github.com/andymccurdy/redis-py/blob/master/redis/client.py) bakarak,' StrictRedis ''close' veya' quit' komutunu uygulamıyor yöntemleri. – jonrsharpe
bağlantıyı kapatmıyoruz tamam mı, redis ile bağlantıyı anladığımı sanmıyorum ... – nevermind
@nevermind Görmek r.client_kill', ama bulmak için, hangi müşteri öldürmek zorunda bunları r.client_list() 'ile listeleyebilirsiniz. 'Netstat kontrol ediliyor | grep 6379' gördüm, bağlantı "kapanış" durumuna geçti. Ayrıca r.execute_command ("QUIT") 'vardır. Ama yine de emin değilim, eğer yaparsa, ne istiyorsun? –