Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 15771|Odpověď: 0

[Redis] 5 věcí, které musíte vědět před použitím Redis

[Kopírovat odkaz]
Zveřejněno 29.12.2015 12:22:28 | | |
Vývoj aplikací v Redisu je příjemný proces, ale jako u každé technologie je třeba při navrhování aplikací založených na Redisu myslet na několik věcí. Možná jste už znali celý proces vývoje relačních databází a vývoj aplikací založený na Redisu má mnoho podobností, ale musíte mít na paměti následující dvě věci – Redis je databáze v paměti a je jednovláknová. Proto při používání Redus je třeba věnovat pozornost následujícím bodům:
1. Ovládání všech klíčů uložených v Redisu
Hlavní funkcí databáze je ukládání dat, ale je běžné, že vývojáři některá data uložená v databázi ignorují kvůli změnám v požadavcích aplikací nebo metodách využití dat, a totéž platí i pro Redis. Můžete přehlédnout některé klíče, které vyprší, nebo zapomenout data, protože modul vaší aplikace je zastaralý.
V každém případě Redis ukládá nějaká data, která se již nepoužívají a zabírají místo bez důvodu. Slabě strukturovaný datový vzor Redis ztěžuje určení, co je uloženo centrálně, pokud nepoužijete velmi vyspělou nomenklaturu klíčů. Použití správné metody pojmenování zjednoduší správu databáze a když vytvoříte jmenný prostor pro klíče prostřednictvím své aplikace nebo služby (obvykle pomocí dvojtečky pro rozdělení jmen klíčů), můžete data snadno identifikovat při migraci, konverzi nebo mazání.
Dalším běžným případem použití Redisu je jako druhé úložiště pro aktuální datové položky, kde je většina dat uložena v jiných databázích, jako jsou PostgreSQL nebo MongoDB. V těchto případech často vývojáři zapomínají smazat odpovídající data v Redis, když jsou data odebrána z primárního úložiště. V takovém případě je obvykle vyžadováno kaskádové mazání, které lze dosáhnout uložením všech identifikátorů pro konkrétní datovou položku v konfiguraci Redis, aby bylo zajištěno, že po smazání dat v primární databázi je povolán čistič a smaze všechny relevantní kopie a informace.
2. Kontrolovat délku všech jmen klíčů
Jak jsme již uvedli, použili jsme vhodné pojmenovávací konvence a přidali předpony, abychom určili, kam data směřují, takže to jde proti tomu. Nezapomeňte však, že Redis je databáze v paměti, a čím kratší klávesy, tím méně místa potřebujete. Samozřejmě, když je v databázi miliony nebo miliardy klíčů, délka názvu klíče bude mít velký vliv.
Například na 32bitovém serveru Redis, pokud uložíte jeden milion klíčů s délkou 32 znaků, zabere to asi 96 MB místa při použití 6znakového jména, ale pokud použijete 12znakové jméno, spotřeba místa se zvýší na přibližně 111 MB. S více klíči bude mít dodatečných 15 % režijních nákladů významný dopad.
3. Používejte správnou datovou strukturu
Ať už jde o využití paměti nebo výkon, někdy mohou mít datové struktury velký dopad, zde je několik osvědčených postupů, na které se můžete odvolávat:
Místo ukládání dat jako tisíce (nebo miliony) samostatných řetězců zvažte použití hashovaných datových struktur k seskupení souvisejících dat. Hashovací tabulky jsou velmi efektivní a mohou snížit využití paměti; Současně je hashování také výhodnější pro detailní abstrakci a čitelnost kódu.
Když je to vhodné, používejte seznam místo set. Pokud nepotřebujete používat funkci set, List může nabídnout rychlejší rychlosti než nastavený a zároveň spotřebovat méně paměti.
Seřazené množiny jsou nejdražší datové struktury, a to jak z hlediska spotřeby paměti, tak složitosti základních operací. Pokud potřebujete jen způsob, jak dotazovat záznamy a nezáleží vám na třídění těchto vlastností, je velmi doporučováno používat hashovací tabulky.
Často opomíjenou funkcí v Redis jsou bitmapy nebo bitsety (po verzi 2.2). Bitové sady umožňují provádět více operací na úrovni bitů s hodnotami Redis, například nějakou lehkou analýzu.
4. Nepoužívejte klíč při použití SCAN
Od verze 2.8 v Redis je již k dispozici příkaz SCAN, který umožňuje načíst klíče z klíčového prostoru pomocí kurzoru. Ve srovnání s příkazem KEYS, i když SCAN nemůže vrátit všechny shodné výsledky najednou, eliminuje vysoké riziko blokace systému, takže některé operace lze provádět na hlavním uzlu.
Je důležité poznamenat, že příkaz SCAN je iterátor založený na kurzoru. Pokaždé, když je příkaz SCAN vyvolán, uživatel se vrátí nový kurzor a uživatel musí tento nový kurzor použít jako kurzorový parametr příkazu SCAN v další iteraci, aby mohl pokračovat v předchozím iteracím. Současně mohou uživatelé pomocí SCANu upravovat příkazy pomocí režimu názvů klíčů a možností počtu.
Příkazy související se SCAN zahrnují také příkazy SSCAN, HSCAN a ZSCAN, které se používají pro kolekce, hashovací klíče a pokračování.
5. Používání serverových Lua skriptů
Při používání Redus poskytuje podpora Lua skriptů vývojářům velmi přátelské vývojové prostředí, což výrazně osvobozuje kreativitu uživatelů. Při správném použití mohou Lua skripty přinést významné zlepšení výkonu a spotřeby zdrojů. Místo předávání dat CPU skripty umožňují spustit logiku nejblíže datům, čímž se snižuje síťová latence a redundantní přenos dat.
V Reduis je velmi klasickým případem použití Lua filtrování dat nebo agregace dat do aplikace. Začleněním pracovního toku do skriptu můžete jednoduše zavolat a získat menší odpověď s použitím několika zdrojů za kratší čas.
Tip:Lua je skvělá, ale má i své problémy, například obtížné hlášení a řešení chyb. Chytrým přístupem je použít Redisovu funkci Pub/Sub a nechat skript posílat logovací zprávy přes vyhrazený kanál. Poté vytvořte proces pro odběratele a podle toho ho zpracujte.





Předchozí:Redis. .NET open-source komponenta Beetle.Redis
Další:Install-Package: Microsoft.Bcl 1.1.10 balíček vyžaduje klient NuGet verze 2.8.1 nebo vyšší...
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com