Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 15771|Atbildi: 0

[Redis] 5 lietas, kas jums jāzina pirms Redis lietošanas

[Kopēt saiti]
Publicēts 29.12.2015 12:22:28 | | |
Lietojumprogrammu izstrāde ar Redis ir patīkams process, taču, tāpat kā jebkura tehnoloģija, ir dažas lietas, kas jums jāpatur prātā, izstrādājot uz Redis balstītas lietojumprogrammas. Jūs, iespējams, iepriekš esat iepazinies ar visu relāciju datu bāzes izstrādes rutīnu, un uz Redis balstītai lietojumprogrammu izstrādei ir daudz līdzību, taču jums ir jāpatur prātā šādas divas lietas - Redis ir atmiņā esoša datu bāze, un tā ir viena pavediena. Tāpēc, lietojot Redis, jums jāpievērš uzmanība šādiem punktiem:
1. Kontrolējiet visus Redis saglabātos taustiņus
Datu bāzes galvenā funkcija ir datu glabāšana, taču ir normāli, ka izstrādātāji ignorē dažus datu bāzē saglabātos datus lietojumprogrammu prasību vai datu izmantošanas metožu izmaiņu dēļ, un tas pats attiecas uz Redis. Varat nepamanīt noteiktas atslēgas, kuru derīguma termiņš beidzas, vai arī aizmirst datus, jo lietojumprogrammas modulis ir novecojis.
Jebkurā gadījumā Redis glabā dažus datus, kas vairs netiek izmantoti, aizņemot vietu bez iemesla. Redis vāji strukturētais datu modelis apgrūtina izdomāšanu, kas tiek glabāts centralizēti, ja vien atslēgām neizmantojat ļoti nobriedušu nomenklatūru. Izmantojot pareizo nosaukumu piešķiršanas metodi, tiks vienkāršota datu bāzes pārvaldība, un, izveidojot atslēgu nosaukumvietu, izmantojot lietojumprogrammu vai pakalpojumu (parasti izmantojot kolus, lai sadalītu atslēgu nosaukumus), datus var viegli identificēt, tos migrējot, konvertējot vai dzēšot.
Vēl viens izplatīts Redis lietošanas gadījums ir kā otra datu krātuve karstajiem datu vienumiem, kur lielākā daļa datu tiek glabāti citās datu bāzēs, piemēram, PostgreSQL vai MongoDB. Šādos lietošanas gadījumos izstrādātāji bieži aizmirst izdzēst atbilstošos datus Redis, kad dati tiek noņemti no primārās krātuves. Šajā gadījumā parasti ir nepieciešama kaskādes dzēšana, tādā gadījumā to var panākt, saglabājot visus identifikatorus konkrētam datu vienumam Redis konfigurācijā, lai nodrošinātu, ka pēc datu dzēšanas primārajā datu bāzē tiek izsaukts tīrītājs, lai izdzēstu visas attiecīgās kopijas un informāciju.
2. Kontrolējiet visu taustiņu nosaukumu garumu
Kā jau minējām iepriekš, mēs izmantojām atbilstošas nosaukumu piešķiršanas konvencijas un pievienojām prefiksus, lai identificētu, kur dati dodas, tāpēc šķiet, ka tas ir pretrunā ar to. Tomēr neaizmirstiet, ka Redis ir atmiņas datu bāze, un jo īsāki taustiņi, jo mazāk vietas jums nepieciešams. Protams, ja datu bāzē ir miljoniem vai miljardiem atslēgu, atslēgas nosaukuma garumam būs liela ietekme.
Piemēram, 32 bitu Redis serverī, ja glabājat vienu miljonu atslēgu, kuru garums ir 32 rakstzīmes, tas patērēs aptuveni 96 MB vietas, izmantojot 6 rakstzīmju atslēgas nosaukumu, bet, ja izmantojat 12 rakstzīmju atslēgas nosaukumu, vietas patēriņš palielināsies līdz aptuveni 111 MB. Ar vairāk atslēgu, papildu 15% pieskaitāmajām izmaksām būs būtiska ietekme.
3. Izmantojiet pareizo datu struktūru
Neatkarīgi no tā, vai tas ir atmiņas lietojums vai veiktspēja, dažreiz datu struktūrām var būt liela ietekme, šeit ir dažas labākās prakses, uz kurām jāatsaucas:
Tā vietā, lai glabātu datus kā tūkstošiem (vai miljoniem) atsevišķu virkņu, apsveriet iespēju izmantot jauktās datu struktūras, lai grupētu saistītos datus. Jaucējtabulas ir ļoti efektīvas un var samazināt atmiņas lietojumu; Tajā pašā laikā jaukšana ir arī izdevīgāka detaļu abstrakcijai un koda lasāmībai.
Ja nepieciešams, izmantojiet list, nevis set. Ja iestatīšanas līdzeklis nav jāizmanto, saraksts var nodrošināt lielāku ātrumu nekā iestatīts, izmantojot mazāk atmiņas.
Šķirotas kopas ir visdārgākās datu struktūras gan atmiņas patēriņa, gan pamatoperāciju sarežģītības ziņā. Ja jums ir nepieciešams veids, kā vaicāt ierakstus un nerūpējas par šādu rekvizītu kārtošanu, tad ir ļoti ieteicams izmantot jaukšanas tabulas.
Bieži aizmirsta funkcija Redis ir bitkartes vai bitkopas (pēc V2.2). Bitkopas ļauj veikt vairākas bitu līmeņa operācijas ar Redis vērtībām, piemēram, nelielu analīzi.
4. Nelietojiet atslēgu, izmantojot SCAN
Sākot ar Redis v2.8, komanda SCAN jau ir pieejama, kas ļauj izgūt atslēgas no taustiņu telpas, izmantojot kursoru. Salīdzinot ar komandu KEYS, lai gan SCAN nevar atgriezt visus atbilstošos rezultātus uzreiz, tas novērš augstu sistēmas bloķēšanas risku, lai dažas darbības varētu izpildīt galvenajā mezglā.
Ir svarīgi atzīmēt, ka komanda SCAN ir kursora iterators. Katru reizi, kad tiek izsaukta komanda SCAN, lietotājam tiek atgriezts jauns kursors, un lietotājam būs jāizmanto šis jaunais kursors kā SCAN komandas kursora parametrs nākamajā iterācijā, lai turpinātu iepriekšējo iterācijas procesu. Tajā pašā laikā, izmantojot SCAN, lietotāji var arī pielāgot komandas, izmantojot keyname režīmu un skaitīšanas opcijas.
Ar SCAN saistītās komandas ietver arī SSCAN komandas, HSCAN komandas un ZSCAN komandas, kas tiek izmantotas attiecīgi kolekcijām, jaucējatīvām un turpinājumiem.
5. Izmantojiet servera puses Lua skriptus
Redis lietošanas procesā Lua skriptu atbalsts neapšaubāmi nodrošina izstrādātājiem ļoti draudzīgu izstrādes vidi, tādējādi ievērojami atbrīvojot lietotāju radošumu. Pareizi lietojot, Lua skripti var ievērojami uzlabot veiktspēju un resursu patēriņu. Tā vietā, lai nodotu datus CPU, skripti ļauj izpildīt loģiku, kas ir vistuvāk datiem, samazinot tīkla latentumu un lieku datu pārsūtīšanu.
Redis ļoti klasisks Lua lietošanas gadījums ir datu filtrēšana vai datu apkopošana lietojumprogrammā. Iekapsulējot apstrādes darbplūsmu skriptā, varat to vienkārši izsaukt, lai iegūtu mazāku atbildi, izmantojot dažus resursus īsākā laikā.
Pro padoms:Lua ir lielisks, bet tam ir arī dažas problēmas, piemēram, grūtības ziņot un rīkoties ar kļūdām. Gudra pieeja ir izmantot Redis Pub / Sub funkciju un ļaut skriptam virzīt žurnāla ziņojumus īpašā kanālā. Pēc tam izveidojiet abonenta procesu un attiecīgi apstrādājiet to.





Iepriekšējo:Redis . .NET atvērtā pirmkoda komponents Beetle.Redis
Nākamo:Instalēšanas pakotne: Microsoft.Bcl 1.1.10 pakotnei nepieciešama NuGet klienta versija 2.8.1 vai jaunāka...
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com