Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Data API Builder régóta támogatja az 1. szintű (L1) memóriabeli gyorsítótárat és a gyorsítótárral kapcsolatos HTTP-kérelemfejléceket, például no-storea , no-cacheés only-if-cached a gyorsítótár viselkedésének befolyásolása érdekében.
A 2. szintű (L2) gyorsítótár egy elosztott gyorsítótárréteg hozzáadásával kibővíti a helyi folyamaton túli gyorsítótárazást. A L2gyorsítótárazott eredmények több DAB-példányban is újra felhasználhatók, és túlélhetik az egyes tároló-újraindításokat, így az állapot nélküli üzemelő példányok a megfelelő módon kevésbé érzik magukat állapot nélkülinek.
A 2. szintű gyorsítótár előnyei
A 2. szintű gyorsítótárat a következő esetekben használja:
- Gyorsítótárazott eredmények megosztása kibővített DAB-példányok között
- Adatbázis-kerek utak csökkentése ismétlődő olvasások esetén
- Állapot nélküli tárolók melegen tartása újrahasznosítás vagy újbóli üzembe helyezés után
- Az írásvédett számítási feladatok teljesítményének javítása
- Névtér-gyorsítótár részvétele partíciókkal
Futtatókörnyezeti gyorsítótár beállításainak konfigurálása
A 2. szintű gyorsítótár globálisan konfigurálva van a runtime.cache. A futtatókörnyezet gyorsítótár-blokkja engedélyezi a gyorsítótárazást, beállítja az alapértelmezett élettartamot (TTL), és konfigurálja az elosztott gyorsítótár-szolgáltatót.
{
"runtime": {
"cache": {
"enabled": true,
"ttl-seconds": 30,
"level-2": {
"enabled": true,
"provider": "redis",
"connection-string": "localhost:6379",
"partition": "prod-api"
}
}
}
}
Futtatókörnyezet tulajdonságai
| Ingatlan | Leírás |
|---|---|
enabled |
Globálisan engedélyezi a gyorsítótár támogatását. |
ttl-seconds |
Az alapértelmezett gyorsítótár élettartamát másodpercek alatt állítja be. |
level-2.enabled |
Bekapcsolja az elosztott gyorsítótárszintet. |
level-2.provider |
Kiválasztja az elosztott gyorsítótár-szolgáltatót. Jelenleg redis támogatott. |
level-2.connection-string |
Kapcsolati sztring a Redis-példányhoz. |
level-2.partition |
Választható névtér a Redis-kulcsokhoz és a háttércsatornához. Csak az azonos partíciót használó tárolók osztják meg ugyanazt az elosztott gyorsítótárterületet. |
Entitásspecifikus gyorsítótár-viselkedés konfigurálása
Az entitások felülbírálhatják a globális gyorsítótár viselkedését. Az entitásblokk cache használatával engedélyezheti a gyorsítótárazást, egyéni TTL-t állíthat be, és kiválaszthatja a gyorsítótár szintjét.
{
"entities": {
"Products": {
"source": "dbo.Products",
"cache": { "enabled": true, "ttl-seconds": 120, "level": "L1L2" }
},
"Orders": {
"source": "dbo.Orders",
"cache": { "enabled": true, "level": "L1" }
}
}
}
A cache.level tulajdonság
Az entitás által használt gyorsítótárszintek szabályozására használható cache.level .
| Érték | Leírás |
|---|---|
L1 |
Csak a memóriabeli gyorsítótárban. Az aktuális DAB-folyamat gyors és helyi beállítása. |
L1L2 |
Memóriában és elosztott gyorsítótárban. Ez a szint a gyorsítótárazott entitások alapértelmezett szintje. |
Ha L2 nincs engedélyezve globálisan, a konfigurált L1L2 entitás a következőképpen L1viselkedik.
A L1L2 működése
Jótanács
TL; DRL1L2 = L1 → → L2 → → L2 → L1 → válasz kérése
Alapértelmezés szerint a gyorsítótárazást engedélyező entitások a L1L2 szintet használják.
-
L1A folyamatonkénti memóriagyorsítótár. -
L2az elosztott gyorsítótár rétege, jelenleg Redis, valamint egy háttérsík a példányok közötti koherencia érdekében.
L1L2 Ezzel a gyorsítótár-keresés először ellenőrzi L1. Hiba esetén L1 ellenőrzi L2 , hogy a 2. szintű gyorsítótárazás globálisan engedélyezve van-e és konfigurálva van-e. Ha a bejegyzés egyik rétegben sem található, a DAB végrehajtja az adatbázis-lekérdezést. Az eredmény ezután mind a kettőben, mind L1L2a .
Ez a következőt jelenti:
- Az ugyanazon példányra vonatkozó jövőbeli kéréseket a helyi rendszer kézbesíti
L1 - A más példányokra vonatkozó kérések elolvashatják
L2és előléptethetik a bejegyzést a sajátjukbaL1 - Ha egy tároló újraindul, egy
L1kihagyás, amelyetL2egy találat követ, még mindig elkerülheti az adatbázis-utazást
Ez a kombináció meleg elosztott gyorsítótárat biztosít a felskálázott vagy újrahasznosított példányok között.
Redis-támogatás
A Redis a 2. szintű gyorsítótár jelenlegi szolgáltatója. Ebben a forgatókönyvben a következőket támogatja:
- Megosztott hozzáférés több DAB-példány között
- Kulcs lejárata TTL-alapú gyorsítótárazáshoz
- Gyors olvasási és írási műveletek nagy átviteli sebességű számítási feladatokhoz
- Backplane koordináció a példányok között
Particionált gyorsítótár-szóközök
Az elosztott gyorsítótár-tevékenység elkülönítéséhez használja az opcionális partition beállítást. A DAB a partíció értékét használja a Redis-kulcsok és a háttércsatorna névteréhez. Csak az azonos partícióval rendelkező tárolók vesznek részt ugyanabban az elosztott gyorsítótárterületben.
Ez a beállítás a következő esetekben hasznos:
- Termelési és nem termelési forgalom elkülönítése
- Bérlők vagy környezetek elkülönítése
- A nem kapcsolódó szolgáltatások nem osztják meg a gyorsítótárazott bejegyzéseket