Highload információs blokkok Bitrix

Mindenki tudja, hogy ott vannak, de nagyon kevés ember használja őket. Mik azok számára? Amikor szükség van, hogy bevonja őket a projektben? Melyik API kell dolgozni velük? Nézzük foglalkozni!
Kezdjük az elején. Melyek a leginkább hayload blokkok és mikor kell használni őket.
Miért kell?
A neve már azt mondja, hogy ezek információs blokkok van szükség ahhoz, hogy ellenálljon a nagy terhelés. Annak érdekében, hogy tárolni nagy mennyiségű adatot, amelyek segítségével gyorsan és egyszerűen működik. Tehát valójában.
Highload-blokkok Bitrix - ezek külön entitás. Más szóval, minden egyes HL-információs blokk - ez egy külön táblát az adatbázisban, akkor léptek egy oszlopra, és a tárolt típusokat.
Ellentétben a hagyományos információs háztömbnyire Highload
A legfontosabb különbség - ez a sebesség. Fontos, hogy megértsük. Ha dolgozik, egyszerű információs blokk rendszer a legtöbb hívás az adatbázis, hogy egy egyszerű, látszólag mintát, a HL blokkok egyetlen SELECT „a. Végtére is, a munka csak egy asztalon. Szintén ezt szem előtt tartani, fejlesztése a projekt.
GetList'a ismerős számunkra egy csomó paraméter tömb hayload nincs, minden meglehetősen prózai.
Mikor kell használni Highload-blokkok?
Azonnal példa. Tegyük fel, hogy van egy szórakoztató portál, amelyen a kívánt állomást minden nap más és más, hűvös \ hasznos \ érdekes tartalmat. Emberek, akik ellátogatnak a portál szeretné, hogy képes legyen megmenteni a kedvenc cikkeit őket, majd megtalálni őket gyorsan (mondjuk, egy kabinetjének van egy rész, miközben a post).
Butaság lenne létrehozni ezt az egyszerű információs blokkban egy bizonyos halmazát, ahol minden új elem kerül mentésre a cikket adott felhasználót. Ez egyszerűen nem racionális és praktikus.
A másik dolog, HL-blokk. Amikor elkészült, akkor adjon meg egy egyedi mező 2 fajta „szám” - USER_ID. Article_id - és minden! További összehasonlítások a fiókban nagyon egyszerű. Gyűjti össze az összes article_id felhasználót USER_ID. képező tömb és tolja be a $ arFilter eljárás GetNext egyszerű információs blokkot. Csak? Naná!
Nos, nos, azt hiszem, itt az ideje lépni a gyakorlatban. Lássuk, hogy a szoftver képes együttműködni a HL-blokkok: hogyan mintát, hogyan kell hozzá egy rekordot, hogyan kell frissíteni a tételeket, és távolítsa el őket.
Munka az API
Áttérek a tény, hogy hozzon létre Highload-blokkok tudja. Végtére is, ez nem nagy ügy. Ahogy a mondás tartja: „egy pár kulcsot, hogy nyomja.”
Együttműködik az API Highload blokkok először csatlakoztatni kell a megfelelő modul:
Ezután létre kell hozni egy példányát egy gazdálkodó HL egység, amelyben dolgozunk:
Most, hogy adjunk egy bejegyzést hayload asztal, meg kell adni a módszer egy sor hozzáadott értéket képvisel;
Ez nem nehéz? Mi már kialakult egy sor $ arData arra, hogy mi kell hozzá. A mi esetünkben, akkor kötelező a felhasználói ID = 5 cikk ID = 123.
És most vessünk egy mintát az összes lehetséges paramétert (így tudjuk, hogyan működik):
Egy bejegyzés törléséhez, elegendő használni a módszert törli. halad, hogy egy paraméter - ID HL blokk elemek:
Egyszerűen sehol! Továbbra is megtanulják, hogyan kell frissíteni terméket. Itt is minden egyszerű. Ehhez van a frissítés módszerét. amely két paramétert - HL blokk elem azonosító tömb, és adattípus „egyéni mező” => „értéket a mező”:
Ez minden. Mint látható, semmi bonyolult és rettenetes tömb Highload-nem. De még egyszer, nem szükséges létrehozni őket minden tüsszentés. Fontos megérteni, ha valóban szükség van rájuk, és amikor ez csak a kényeztetés.