Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 15771|Odpoveď: 0

[Redis] 5 vecí, ktoré musíte vedieť pred použitím Redis

[Kopírovať odkaz]
Zverejnené 29. 12. 2015 12:22:28 | | |
Vývoj aplikácií v Redis je príjemný proces, ale ako pri každej technológii, je potrebné mať na pamäti niekoľko vecí pri navrhovaní aplikácií založených na Redis. Možno ste už poznali celý proces vývoja relačných databáz a vývoj aplikácií založený na Redise má mnoho podobností, ale musíte mať na pamäti tieto dve veci – Redis je databáza v pamäti a je jednovláknová. Preto pri používaní Redis musíte venovať pozornosť nasledujúcim bodom:
1. Ovládať všetky kľúče uložené v Redis
Hlavnou funkciou databázy je ukladať dáta, ale je bežné, že vývojári niektoré dáta uložené v databáze ignorujú kvôli zmenám v aplikačných požiadavkách alebo metódach využitia dát, a to isté platí aj pre Redis. Môžete prehliadnuť niektoré kľúče, ktoré vypršia, alebo zabudnúť na údaje, pretože modul vašej aplikácie je zastaraný.
V každom prípade Redis ukladá niektoré dáta, ktoré sa už nepoužívajú, a zaberajú miesto bez dôvodu. Redisov slabo štruktúrovaný dátový vzor sťažuje určiť, čo je uložené centrálne, pokiaľ nepoužijete veľmi vyspelú nomenklatúru pre kľúče. Použitie správneho spôsobu pomenovania zjednoduší správu databázy a keď vytvoríte menný priestor pre kľúče cez vašu aplikáciu alebo službu (zvyčajne pomocou dvojbodiek na delenie názvov kľúčov), môžete ľahko identifikovať údaje pri ich migrácii, konverzii alebo vymazaní.
Ďalším bežným prípadom použitia Redis je ako druhé dátové úložisko pre horúce dátové položky, kde väčšina údajov je uložená v iných databázach, ako sú PostgreSQL alebo MongoDB. V týchto prípadoch vývojári často zabúdajú vymazať zodpovedajúce dáta v Redis, keď sú dáta odstránené z primárneho úložiska. V takom prípade je zvyčajne potrebné kaskádové vymazanie, čo sa dá dosiahnuť uložením všetkých identifikátorov pre konkrétnu dátovú položku v konfigurácii Redis, aby sa zabezpečilo, že po vymazaní dát v primárnej databáze je privolaný upratovač, ktorý vymaže všetky relevantné kópie a informácie.
2. Kontrolovať dĺžku všetkých názvov kľúčov
Ako sme už spomenuli, použili sme vhodné pomenovacie konvencie a pridali prefixy na identifikáciu smeru dát, takže to zrejme ide proti tomu. Nezabúdajte však, že Redis je databáza v pamäti, a čím kratšie kľúče, tým menej miesta potrebujete. Prirodzene, keď je v databáze milióny alebo miliardy kľúčov, dĺžka názvu kľúča bude mať veľký vplyv.
Napríklad na 32-bitovom serveri Redis, ak uložíte milión kľúčov s dĺžkou 32 znakov, zaberie to približne 96MB miesta pri použití 6-znakového kľúčového mena, ale ak použijete 12-znakové meno kľúča, spotreba miesta sa zvýši na približne 111MB. S väčším počtom kľúčov bude mať dodatočných 15 % režijných nákladov výrazný dopad.
3. Použite správnu dátovú štruktúru
Či už ide o využitie pamäte alebo výkon, niekedy môžu mať dátové štruktúry veľký vplyv, tu je niekoľko najlepších postupov, na ktoré sa môžete odvolávať:
Namiesto ukladania dát ako tisíce (alebo milióny) samostatných reťazcov zvážte použitie hashovaných dátových štruktúr na zoskupenie súvisiacich dát. Hašovacie tabuľky sú veľmi efektívne a môžu znížiť spotrebu pamäte; Zároveň je hashovanie výhodnejšie aj pre detailnú abstrakciu a čitateľnosť kódu.
Keď je to vhodné, použite zoznam namiesto nastaveného. Ak nepotrebujete používať funkciu set, List môže poskytnúť rýchlejšie rýchlosti ako Set a zároveň používať menej pamäte.
Triedené množiny sú najdrahšie dátové štruktúry, a to nielen z hľadiska spotreby pamäte, ale aj zložitosti základných operácií. Ak potrebujete len spôsob, ako dotazovať záznamy a nezáleží vám na triedení takýchto vlastností, veľmi sa odporúča používať hashovacie tabuľky.
Často prehliadanou funkciou v Redis sú bitmapy alebo bitsety (po verzii 2.2). Bitové sady umožňujú vykonávať viacero operácií na úrovni bitov s hodnotami Redis, napríklad nejakú ľahkú analýzu.
4. Nepoužívajte kľúč pri používaní SCAN
Od verzie 2.8 je príkaz SCAN už dostupný, ktorý umožňuje vyhľadávať kľúče z kľúčového priestoru pomocou kurzora. V porovnaní s príkazom KEYS, hoci SCAN nemôže naraz vrátiť všetky zhodné výsledky, eliminuje vysoké riziko blokovania systému, takže niektoré operácie môžu byť vykonané na hlavnom uzle.
Je dôležité poznamenať, že príkaz SCAN je iterátor založený na kurzore. Pri každom vyvolaní príkazu SCAN sa používateľovi vráti nový kurzor a používateľ musí tento nový kurzor použiť ako parameter kurzora príkazu SCAN v ďalšej iterácii, aby mohol pokračovať v predchádzajúcom procese iterácie. Zároveň môžu používatelia pomocou SCANu upravovať príkazy pomocou režimu keyname a možností počítania.
Príkazy súvisiace so SCAN zahŕňajú aj príkazy SSCAN, HSCAN a ZSCAN, ktoré sa používajú pre kolekcie, hash kľúče a pokračovania.
5. Použitie serverových Lua skriptov
Pri používaní Redisu podpora Lua skriptov nepochybne poskytuje vývojárom veľmi priateľské vývojárske prostredie, čím výrazne oslobodzuje kreativitu používateľov. Ak sa skripty Lua používajú správne, môžu priniesť výrazné zlepšenia výkonu a spotreby zdrojov. Namiesto odovzdávania dát CPU skripty umožňujú vykonávať logiku najbližšiu k dátam, čím sa znižuje sieťová latencia a redundantný prenos dát.
V Redis je veľmi klasickým prípadom použitia Lua filtrovanie alebo agregácia dát do aplikácie. Zapuzdrením pracovného postupu do skriptu ho môžete jednoducho zavolať a získať menšiu odpoveď s použitím niekoľkých zdrojov za kratší čas.
Profesionálny tip:Lua je skvelá, ale má aj niektoré problémy, ako napríklad ťažkosti s hlásením a riešením chýb. Rozumný prístup je použiť Redisovu funkciu Pub/Sub a nechať skript posielať logové správy cez vyhradený kanál. Potom vytvorte proces pre odberateľov a spracujte ho podľa toho.





Predchádzajúci:Redis. .NET open-source component Beetle.Redis
Budúci:Inštalačný balík: Microsoft.Bcl 1.1.10 balík vyžaduje NuGet klienta verziu 2.8.1 alebo novšiu...
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com