Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Mengapa kinerja Redis SET lebih baik daripada GET?

Sebenarnya ini hanya efek bahwa secara default Anda mengukur lebih banyak I/O daripada waktu eksekusi perintah yang sebenarnya. Jika Anda mulai mengaktifkan pipelining di benchmark, ini sedikit lebih merupakan ukuran kinerja perintah yang sebenarnya, dan angkanya akan berubah:

$ redis-benchmark -q -n 1000000 -P 32 set foo bar
set foo bar: 338964.03
$ redis-benchmark -q -n 1000000 -P 32 get foo
get foo: 432713.09 requests per second

Sekarang GET lebih cepat :-)

Kami harus menyertakan pipelining di halaman dokumen benchmark kami.

EDIT: Ini bahkan lebih jelas di sini:

redis 127.0.0.1:6379> info commandstats
# Commandstats
cmdstat_get:calls=1001568,usec=221845,usec_per_call=0.22
cmdstat_set:calls=831104,usec=498235,usec_per_call=0.60

Perintah ini menyediakan waktu CPU untuk melayani permintaan secara internal, tanpa memperhitungkan I/O. SET tiga kali lebih lambat untuk diproses.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. bagaimana cara menggunakan layanan mikro nestjs redis?

  2. Pengantar Redis Cluster Sharding – Keuntungan, Keterbatasan, Penerapan &Koneksi Klien

  3. Redis adalah utas tunggal, lalu bagaimana cara melakukan I/O bersamaan?

  4. RedisTemplate kedaluwarsa tidak berfungsi

  5. Koneksi ke Redis (ElastiCache) dari ElasticBeanstalk EC2 Gagal