Latest web development tutorials

Redis Pipeline Technology

Redis didasarkan pada client - server model dan permintaan / respon layanan protokol TCP. Ini berarti bahwa permintaan biasanya akan mengikuti langkah-langkah ini:

  • Klien mengirimkan permintaan ke server, dan mendengarkan Socket kembali, biasanya dalam modus blocking, menunggu respon dari server.
  • perintah pengolahan server dan mengembalikan hasil ke klien.

Redis Pipeline Technology

teknologi pipa Redis tidak bisa menanggapi pada saat server, klien dapat terus mengirim permintaan ke server, dan akhirnya sekaligus untuk membaca respon dari server.

contoh

Lihat pipa Redis, hanya Anda harus mulai contoh Redis dan masukkan perintah berikut:

$(echo -en "PING\r\n SET w3bigkey redis\r\nGET w3bigkey\r\nINCR visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc localhost 6379

+PONG
+OK
redis
:1
:2
:3

Dengan menggunakan contoh kita perintahPING Redis layanan di atas tersedia, maka kami telah menetapkan Redis nilai w3bigkey, dan kemudian kita mendapatkan nilai w3bigkey dan membuat selisih pengunjung 3 kali.

Dalam hasil kembali, kita dapat melihat perintah-perintah ini sekaligus diserahkan ke Redis layanan, dan akhirnya sekaligus untuk membaca respon dari server


Keuntungan Pipeline Technology

Keuntungan yang paling signifikan dari teknologi untuk meningkatkan pelayanan Redis kinerja pipa.

Beberapa data uji

Dalam pengujian berikut, kita akan menggunakan klien Redis Ruby yang mendukung karakteristik teknis pipa, teknologi pipa tes untuk meningkatkan efek kecepatan.

require 'rubygems' 
require 'redis'
def bench(descr) 
start = Time.now 
yield 
puts "#{descr} #{Time.now-start} seconds" 
end
def without_pipelining 
r = Redis.new 
10000.times { 
	r.ping 
} 
end
def with_pipelining 
r = Redis.new 
r.pipelined { 
	10000.times { 
		r.ping 
	} 
} 
end
bench("without pipelining") { 
	without_pipelining 
} 
bench("with pipelining") { 
	with_pipelining 
}

Dari LAN di Mac sistem OS X untuk melakukan data di atas menunjukkan bahwa script sederhana ini, membuka operasi pipa, round-trip delay telah ditingkatkan cukup rendah.

without pipelining 1.185238 seconds 
with pipelining 0.250783 seconds

Seperti yang Anda lihat, membuka pipa, kita mempercepat efisiensi dengan 5 kali.