php - Perbezaan antara incr dan incrBy dalam Redis
PHP中文网2017-05-16 13:04:35
0
4
1121
Saya membaca dalam talian tentang perbezaan mereka
Tetapi saya mencuba sendiri dan mendapati incr juga boleh menentukan kenaikan seperti incrby, jadi rasanya tiada bezanya. Gambar di bawah adalah hasil ujian saya.
http://redisdoc.com/string/in... http://redisdoc.com/string/in... Adakah pelaksanaan di dalam redis berbeza? Jika anda menggunakan incr untuk lulus parameter, anda perlu melaksanakan parameter masa yang ditentukan Tetapi jika anda menggunakan incrby, anda hanya perlu melakukan satu pengiraan, jadi anda perlu mengesahkannya semula
Selepas ujian, tiada perbezaan dapat dilihat, masa berjalan adalah sama, dan tiada incr dilaksanakan beberapa kali. Jika nombor 23000000000000000000000000000000000 dilaksanakan beberapa kali, ia pasti akan mengambil masa tertentu, tetapi ia akan mengambil masa yang sama seperti Incrbys
Berikut ialah kod sumber Redis Sebenarnya, pelaksanaan asas incr dan incrBy adalah konsisten, tetapi incrBy perlu melakukan pengesahan parameter
.Dapat dilihat dari sini bahawa incr tidak menyokong parameter berangka.
Tetapi mengapa $redis disokong dalam PHP? Mungkin lapisan bawah perpustakaan ini menggunakan perintah incrBy redis
Kod sumber telah disiarkan secara salah sebentar tadi, sila ubah suainya
Melihat melalui kod sumber sambungan phpredis, ia sepatutnya serasi bermula dari 2.0.9.
Semasa memanggil incr, bawa nombor jenis panjang Jika nombor itu bukan 1, hubungi incrby.
Dengan cara ini, apabila menggunakan incrBy, jika parameter berikut ialah 1, incr akan dipanggil.
http://redisdoc.com/string/in...
http://redisdoc.com/string/in...
Adakah pelaksanaan di dalam redis berbeza? Jika anda menggunakan incr untuk lulus parameter, anda perlu melaksanakan parameter masa yang ditentukan
Tetapi jika anda menggunakan incrby, anda hanya perlu melakukan satu pengiraan, jadi anda perlu mengesahkannya semula
Selepas ujian, tiada perbezaan dapat dilihat, masa berjalan adalah sama, dan tiada incr dilaksanakan beberapa kali. Jika nombor 23000000000000000000000000000000000 dilaksanakan beberapa kali, ia pasti akan mengambil masa tertentu, tetapi ia akan mengambil masa yang sama seperti Incrbys