Redis menyimpan semua data secara kekal dalam ingatan secara lalai Apabila anda perlu meneruskan data (simpan ke cakera) atau memadam kekunci tamat tempoh secara automatik, anda perlu menggunakan arahan atau konfigurasi tambahan untuk melengkapkan;
Jika anda perlu menggunakan redis untuk melengkapkan keperluan perniagaan anda (seperti cache), maka anda mesti mengikut peraturan reka bentuk redis;
Mengenai soalan yang anda nyatakan kemudian:
Walaupun saya menambah tamat tempoh pada setiap item mysophobic saya, bolehkah anda memastikan bahawa orang lain dalam pembangunan berbilang pemain juga menambah tamat tempoh? Jika seseorang tidak memilikinya, maka data ini akan sentiasa disimpan
Ini yang saya fikirkan: Biasanya logik perniagaan dirangkumkan ke dalam antara muka API Contohnya, antara muka sesi untuk senario log masuk mungkin: void addLoginSession(data rentetan, int tamat masa), dan kemudian orang lain tidak peduli tentang apa. digunakan di sini sama sekali apabila mereka memanggilnya sama ada redis atau memcache, semua butiran mesti dicerna hanya oleh pereka API
Dengan cara ini, bagaimana redis membersihkan kunci yang telah tamat tempoh dalam pangkalan data? Ia terbahagi kepada dua jenis:
Pemadaman malas: Apabila anda mengendalikan kunci (seperti dapatkan nama), redis akan menyemak sama ada kunci itu dikaitkan dengan tamat masa. Jika ya, semak sama ada ia telah tamat masa akan kembali kosong, jika tidak ia akan mengembalikan nilai yang sepadan;
Pemadaman berjadual
: Terdapat peristiwa masa dalam redis, yang akan membersihkan kunci tamat tempoh dalam pangkalan data (redis akan mengehadkan masa yang diduduki oleh operasi ini untuk mengelakkan menyekat permintaan pelanggan)
Anda boleh menggunakan perintah tamat tempoh untuk menetapkan masa tamat tempoh. Terdapat beberapa arahan lain yang juga boleh digunakan untuk menetapkan masa tamat tempoh Sila rujuk dokumentasi untuk butiran.
Redis menyimpan semua data secara kekal dalam ingatan secara lalai Apabila anda perlu meneruskan data (simpan ke cakera) atau memadam kekunci tamat tempoh secara automatik, anda perlu menggunakan arahan atau konfigurasi tambahan untuk melengkapkan; Jika anda perlu menggunakan redis untuk melengkapkan keperluan perniagaan anda (seperti cache), maka anda mesti mengikut peraturan reka bentuk redis;
Mengenai soalan yang anda nyatakan kemudian:Walaupun saya menambah tamat tempoh pada setiap item mysophobic saya, bolehkah anda memastikan bahawa orang lain dalam pembangunan berbilang pemain juga menambah tamat tempoh? Jika seseorang tidak memilikinya, maka data ini akan sentiasa disimpan
Ini yang saya fikirkan: Biasanya logik perniagaan dirangkumkan ke dalam antara muka API Contohnya, antara muka sesi untuk senario log masuk mungkin: void addLoginSession(data rentetan, int tamat masa), dan kemudian orang lain tidak peduli tentang apa. digunakan di sini sama sekali apabila mereka memanggilnya sama ada redis atau memcache, semua butiran mesti dicerna hanya oleh pereka APIAnda boleh menggunakan perintah tamat tempoh untuk menetapkan masa tamat tempoh. Terdapat beberapa arahan lain yang juga boleh digunakan untuk menetapkan masa tamat tempoh Sila rujuk dokumentasi untuk butiran.