Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
tothjozsi96 #16242 üzenetére
Szívesen!
Jó a felvetés, legegyszerűbb (még ha nem is szép) megoldás jelen esetben az lenne, ha maga az azonosító lenne a tömbindex, és annak értéke pedig az adatokat tartalmazó tömb lenne. Ez továbbra is tömbök tömbje, ahogy a korábbi megoldás is volt, csak annyi különbséggel, hogy itt explicite meghatározod a tömbindexet, nem pedig az automatikus számozásra bízod (mivel eddig numerikus indexek voltak használva, 0, 1, 2, ...).
Tehát valahogy így, pszeudokóddal:$conversations = array(
AZONOSÍTÓ1 => array(
"text" => "asdasd",
),
AZONOSÍTÓ2 => array(
"text" => "blabla",
),
AZONOSÍTÓ3 => array(
"text" => "qweqwe",
),
);az AZONOSÍTÓ1, AZONOSÍTÓ2, stb. kulcs lehet szám, vagy lehet egy string is (attól függően, milyen típusú azonosítót használsz).
Akár redundánsan is tárolhatod az azonosítót, úgy, hogy pl.:AZONOSÍTÓ3 => array(
'id' => AZONOSÍTÓ3,
'text' => 'qweqwe',
),Ez bizonyos esetekben leegyszerűsítheti a dolgot, persze figyelni kell rá, hogy ez konzisztens maradjon, ne legyen egyik helyen ilyen azonosító, másik helyen amolyan.
Egyébként tényleg érdemes lehet bevezetni egy osztályt, hogy szebben tudd tárolni és kezelni az adatokat.Jelen esetben ezzel az egyszerű megoldással tehát úgy tudnád törölni, hogy egyszerűen írsz egy unset($conversations[AZONOSÍTÓ3]); sort, ezzel kitörölve az adott tömbindexet, és ezután replace-eled a korábbi tömböt a memcache-ben, és meg is vagy.
Itt is egyébként figyelni kell arra, nehogy egy másik csatlakozott kliens egy korábbi kiolvasott adatból tudjon beírni, úgy, hogy visszarakja valahogy ezt az értéket a tömbbe...
Ezért is mondom, hogy szebb megoldást továbbra is valamilyen NoSQL-megoldással lehetne készíteni.Sk8erPeter
Új hozzászólás Aktív témák
- MSI MAG281URF Gamer Monitor!28"/4k/144hz/Rapid IPS/1ms/Freesync-G-sync/HDMI 2.1/HDR400/Beszámítás!
- LG 38GN950 Ívelt Gamer monitor!38"/3840x1600/Nano IPS/160hz/1ms/Gsync-Freesync/Beszámítás
- LG 50PN450B TV eladó
- Eladó Gamer PC i5 8600K - RoG Rx580 8GB 16GB DDR4 500GB NVme
- Garanciális Corsair HS80 RGB USB