Perché dovremmo evitare di usare le variabili di class @@ nei binari?

Perché dovremmo evitare di usare le variabili di class @@ nei binari? C’è qualche scappatoia di sicurezza con quello. Per favore rispondi come sono nuovo con le rotaie. e sto molto usando la variabile di istanza @variable_name . Ho provato una volta @@variable_name .

So solo che la variabile di class è, la variabile di class è condivisibile tra l’object

Ma mi piacerebbe davvero sapere Perché dovremmo evitare di usare le variabili di class @@ nei binari?

Semplicemente perché non sono thread-safe. Molte guide = i server capaci sono multi-thread. Ciò significa che potrebbero esserci più istanze della tua applicazione in esecuzione in qualsiasi momento e qualsiasi richiesta da parte di uno dei tuoi utenti sarà assegnata arbitrariamente a una di esse. Le variabili di class non sono condivise tra i processi, quindi esiste la possibilità che la variabile di class sia diversa in una richiesta successiva.

Anche se riesci deliberatamente a eseguire l’app in un server con un singolo thread, non è garantito che l’app non verrà riavviata tra le richieste, perdendo la variabile di class.

Se si desidera una funzionalità simile a quella fornita dalle variabili di class, si consiglia vivamente di consultare gli archivi a valore chiave come Memcached o Redis.