Sparround

Lokal saxlama və cache

Lokal saxlama üçün seçim datanın xarakterindən asılıdır:

  • `shared_preferences` — kiçik açar-dəyər cütləri: tema seçimi, onboarding görülübmü, son seçilmiş filter. Sinxron oxunmur, quraşdırma zamanı bir dəfə yüklənir
  • SQLite (`sqflite`) və ya digər baza — strukturlaşdırılmış, sorğu tələb edən data: sifariş tarixçəsi, offline cache
  • Fayl sistemi — şəkillər, sənədlər, export faylları
  • Təhlükəsiz saxlama — token və şifrələr `shared_preferences`-də saxlanmamalıdır; onun üçün platformanın keychain/keystore-una bağlanan ayrıca paket lazımdır

Cache strategiyası da datanın xarakterindən asılıdır:

  • Cache-first — əvvəl lokaldan göstər, sonra arxada yenilə. Sürətli açılış verir; köhnə data qısa müddət görünə bilər
  • Network-first — əvvəl şəbəkədən, alınmasa lokaldan. Təzəlik vacib olanda (bank balansı, sifariş statusu)
  • Cache-only — offline rejim

Ən çox unudulan hissə cache-in etibarsız edilməsidir (invalidation): datanın nə vaxt köhnəldiyini müəyyən etmək. Vaxt əsaslı (TTL), hadisə əsaslı (istifadəçi dəyişiklik etdi) və ya versiya əsaslı yanaşmalar var.

Interview ipucu. Təhlükəsizlik sualı burada gizlənir: shared_beferences şifrələnmir — Android-də root olunmuş cihazda və iOS-də backup-dan oxumaq mümkündür. Token, şifrə və şəxsi məlumat üçün platformanın təhlükəsiz saxlama mexanizmi lazımdır. Bunu özün qeyd etsən, təhlükəsizlik düşüncəsini göstərmiş olursan — bu, sığorta və bank sahəsində xüsusilə dəyərlidir.

📚 Mənbələr və sənədlər