用通俗点的语句告诉我Redis的操作的原子性是什么意思?
伊谢尔伦
伊谢尔伦 2017-04-24 09:10:21
0
3
533

最近在官网的教程上看到Redis的很多操作都是原子性的。
实在不理解啥意思。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(3)
PHPzhong

Keatomisasian operasi memastikan bahawa operasi tidak boleh dibahagikan lagi, dan ia sama ada dilaksanakan sepenuhnya atau tidak dilaksanakan sepenuhnya.

Anda perlu mempelajari prinsip atom sistem pengendalian. Masanya agak lama dan mungkin tidak tepat Biar saya berikan contoh biasa yang tidak ada kena mengena dengan Redis.

Terdapat pembolehubah A=10, saya ingin menambah 5 padanya. Kemudian operasi "tambah 5" saya dibahagikan kepada beberapa langkah:

  • Baca A
  • Baca hasil +5
  • Hasilnya ditulis kembali ke A

Ada orang lain yang ingin menambah 3 padanya Dia tidak tahu bahawa saya juga mahu mengendalikan operasi "tambah 3"nya perlu dibahagikan kepada beberapa langkah:

  • Baca A
  • Baca hasil +3
  • Hasilnya ditulis kembali ke A

Jika operasi kami ("tambah 3" dan "tambah 5") bukan atom, arahan antara satu sama lain akan disusun secara rawak, dan hasilnya tidak dapat diramalkan Mungkin dia menyelesaikan tulis balik +3 terlebih dahulu Masa itu sudah 13, jadi kami mendapat keputusan yang betul iaitu +3 dan kemudian +5. Kemungkinan juga dia tidak menulis balik semasa operasi +3 saya membaca 10, jadi apabila menulis kembali, mungkin 13 atau 15.

Jika operasi kami adalah atom, kami boleh memastikan bahawa saya tidak boleh memasukkannya apabila dia melakukan langkah menambah 3. Saya hanya boleh memulakan operasi saya selepas dia menyelesaikan operasi, sekali gus memastikan data itu boleh dipercayai.

PHPzhong

Sama seperti transaksi pangkalan data, satu set operasi sama ada berjaya atau tidak dilaksanakan sama sekali

PHPzhong

Jika anda mahu melakukannya, lakukan semuanya; jika anda tidak mahu melakukannya, jangan lakukan sama sekali

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan