- Azonnali informatikai kérdések órája
- Milyen egeret válasszak?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kormányok / autós szimulátorok topikja
- Milyen alaplapot vegyek?
- A Windows 11 nem akarja ránk erőltetni az AI applikációkat – vagy mégis?
- Szuperlatívuszokban beszél az új szervermemóriájáról a Samsung
- Projektor topic
- Házimozi belépő szinten
- Micro Four Thirds
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
tothjozsi96
#16240
üzenetére
Tehát akkor mégis működik a kódom, amit mutattam?
Ahogy elnézem, csak annyi különbség van, hogy a get-metódusnál nem array-t használsz, és hogyha ez így működőképes, az számomra arra utal, hogy hibás/hiányos a hivatalos dokumentáció:
http://hu1.php.net/manual/en/memcache.get.php
itt ezeket a fejléceket írja:
string Memcache::get ( string $key [, int &$flags ] )
array Memcache::get ( array $keys [, array &$flags ] )
Magyarul ezek szerint ha string kulcsot adsz meg, akkor stringet is kapsz vissza; de Te a kódod szerint tömböt kaptál vissza. Akkor itt a hivatalos doksiban kéne lennie még legalább egy mixed Memcache::get ( string $key [, int &$flags ] ) sornak is... Ez így logikus is lenne, hiszen a set-metódussal is mixed állítható be, így lekérésnél is nyilván mixed lehetne. Na, ezt is megtudtuk.DE:
- jól érzed, ez az 'id' => rand(1,999999999) sor teljesen rossz. Mi van, ha a rand() eredményeként éppen olyan azonosító jön ki, ami már létezik? Sehol nem ellenőrzöd. De amúgy sem szokás sehol így generálni az azonosítót. Ja, és az azonosító nem feltétlenül kell, hogy szám legyen (lásd uniqid()), vagy ha mégis az kell, akkor oldd meg, hogy inkrementálva legyen, de akkor meg figyelni kell arra is, hogy ha több kliens is csatlakozik, akkor atomikusan történjen az inkrementálás, ne tudjanak korábbi/"kettő közötti" állapotot kiolvasni. Cél egyáltalán ezt feltölteni majd valami adatbázisba, hogy meglegyenek a régi adatok? Mert ha nem, szerintem simán használhatnád a uniqid() függvényt, és meg is vagy. Ha adatbázisba feltöltöd, ott max. akkor problémás, ha az id-hez egy automatikusan inkrementálódó int van beállítva; az nyilván nem fogadja el az angol ábécé karaktereit.
Az inkrementálós megoldáshoz nem ártana valami lockolás, hogy egyszerre csak egy kliens tudja módosítani az értéket, de simán megtehetnéd azt, hogy egyszerűen a set/replace-szel egy MÁSIK kulcsot állítasz be, ami ezt a számot tárolja, azt lekéred, megnöveled, stb.
- minek kéred le a replace/set után még egyszer az adatokat a get-metódussal? Hiszen már ott van a $conversations-tömbödben. Mondjuk annyiból jó lehet, hogy ha közben más kliens módosította az adatokat, akkor azt is megkapod...
- erre a feladatra szerintem tényleg jobb lenne valami NoSQL-megoldás, amiről korábban írtam."Amúgy ez a compress asszem valami tömörítés a memcache-ben."
Igen (MEMCACHE_COMPRESSED), de ezt szerintem hagyd ott szépen, ahogy mutattam, lásd:
http://stackoverflow.com/questions/2105663/what-is-compression-for-in-phps-memcache/2106096#2106096
Új hozzászólás Aktív témák
- Mikrotik routerek
- Azonnali informatikai kérdések órája
- Crypto Trade
- Epic Store Ünnepi Ajándékozás - 5. nap: Paradise Killer
- One otthoni szolgáltatások (TV, internet, telefon)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- Milyen egeret válasszak?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Luck Dragon: Asszociációs játék. :)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Asus RGB gamer pc Z790 i5/i7/i9 13600k 32GB DDR5 6400MHz nvidia RTX 5050 + garancia
- BESZÁMÍTÁS! Samsung S27D850T 27 75Hz PLS QHD 5ms monitor garanciával hibátlan működéssel
- BESZÁMÍTÁS! Asus VG27AQL3A 27 180Hz IPS QHD 1ms monitor garanciával hibátlan működéssel
- Lexar Ares RGB 32GB (2x16GB) DDR5 6000MHz CL28 - Élettartam garancia
- HP E2620 J9626A-48port - Managed switch
- BESZÁMÍTÁS! MSI Z690 i9 14900K 32GB DDR5 1TB SSD RTX 3090 OC 24GB Zalman Z1 PLUS Seasonic 750W
- Intel Core i5 4440 4mag 4szál processzor garanciával hibátlan működéssel
- Samsung Galaxy S25 Ultra / 12/512GB / Kártyafügetlen / MediaMarkt Garancia 2028.12.02.-ig
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- Xiaomi 14T Pro 512GB,Újszerű,Dobozával,12 hónap garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopszaki Kft.
Város: Budapest
Ahogy elnézem, csak annyi különbség van, hogy a get-metódusnál nem array-t használsz, és hogyha ez így működőképes, az számomra arra utal, hogy hibás/hiányos a hivatalos dokumentáció:

