Använda Redis-moduler med Azure Cache for Redis
Med Azure Cache for Redis kan du använda Redis-moduler som bibliotek för att lägga till fler datastrukturer och funktioner i redis-kärnprogramvaran. Du lägger till modulerna när du skapar cacheminnet på Enterprise-nivån.
Mer information om hur du skapar en Enterprise-cache finns i Snabbstart: Skapa en Redis Enterprise-cache.
Moduler introducerades i Redis 4.0 med öppen källkod. Modulerna utökar användningsfallen för Redis genom att lägga till funktioner som sökfunktioner och datastrukturer som bloom- och cuckoo-filter.
Omfång för Redis-moduler
Vissa populära moduler är tillgängliga för användning på Enterprise-nivån i Azure Cache for Redis:
Modul | Basic, Standard och Premium | Stora företag | Enterprise Flash |
---|---|---|---|
RediSearch | Nej | Ja | Ja (förhandsversion) |
RedisBloom | Nej | Ja | Nej |
RedisTimeSeries | Nej | Ja | Nej |
RedisJSON | Nej | Ja | Ja |
Kommentar
För närvarande kan du inte läsa in några moduler manuellt i Azure Cache for Redis. Det går inte heller att uppdatera modulversionen manuellt.
Använda moduler med aktiv geo-replikering
Endast modulerna RediSearch
och RedisJSON
kan användas samtidigt med aktiv geo-replikering.
Med hjälp av dessa moduler kan du implementera sökningar mellan grupper av cacheminnen som synkroniseras i en aktiv-aktiv konfiguration. Du kan också söka i JSON-strukturer i din aktiva-aktiva konfiguration.
Stöd för klientbibliotek
Standard-Redis-klientbiblioteken har olika stöd för varje modul. Vissa moduler har specifika bibliotek som lägger till klientstöd. Kontrollera redis-dokumentationssidorna för varje modul för att se mer information om vilka klientbibliotek som stöder dem.
Lägga till moduler i cacheminnet
Du måste lägga till moduler när du skapar enterprise-nivåcacheminnet. Om du vill lägga till en modul eller moduler när du skapar en ny cache använder du inställningarna på fliken Avancerat i cacheminnena på Enterprise-nivån.
Du kan lägga till alla tillgängliga moduler eller välja specifika moduler som ska installeras.
Viktigt!
Moduler måste aktiveras när du skapar en Azure Cache for Redis-instans.
Mer information finns i Snabbstart: Skapa en Redis Enterprise-cache.
Moduler
Följande moduler är tillgängliga när du skapar en ny Enterprise-cache.
RediSearch
RediSearch-modulen lägger till en sökmotor i realtid i cacheminnet som kombinerar prestanda med låg svarstid med kraftfulla sökfunktioner.
Funktionerna omfattar:
- Frågor med flera fält
- Aggregering
- Prefix, fuzzy och fonetikbaserade sökningar
- Förslag för automatisk komplettering
- Geo-filtrering
- Booleska frågor
Dessutom kan RediSearch fungera som ett sekundärt index, expandera cachen bortom en nyckelvärdesstruktur och erbjuda mer avancerade frågor.
RediSearch innehåller även funktioner för att utföra vektorlikhetsfrågor , till exempel KNN-sökning (K-nearest neighbor). Med den här funktionen kan Azure Cache for Redis användas som en vektordatabas, vilket är användbart i AI-användningsfall som semantiska svarsmotorer eller andra program som kräver jämförelse av inbäddningsvektorer som genereras av maskininlärningsmodeller.
Du kan använda RediSearch i en mängd olika användningsfall, inklusive inventering i realtid, företagssökning och indexering av externa databaser. Mer information finns på dokumentationssidan för RediSearch.
Viktigt!
RediSearch-modulen kräver användning av Enterprise
klustringsprincipen och NoEviction
borttagningsprincipen. Mer information finns i Klustring på företags - och minnesprinciper
RedisBloom
RedisBloom lägger till fyra probabilistiska datastrukturer till en Redis-server: bloom-filter, cuckoo-filter, count-min sketch och top-k. Var och en av dessa datastrukturer erbjuder ett sätt att offra perfekt noggrannhet i utbyte mot högre hastighet och bättre minneseffektivitet.
Datastruktur | Beskrivning | Exempelprogram |
---|---|---|
Bloom- och Cuckoo-filter | Anger om ett objekt antingen är (a) definitivt inte i en uppsättning eller (b) potentiellt i en uppsättning. | Kontrollera om ett e-postmeddelande redan har skickats till en användare |
Antal min-skiss | Avgör frekvensen för händelser i en ström | Räknar hur många gånger en IoT-enhet rapporterade en temperatur under 0 grader Celsius. |
Topp-k | Hittar de vanligaste objekten k |
Fastställ de vanligaste orden som används i krig och fred. (om du till exempel anger k = 50 returneras de 50 vanligaste orden i boken) |
Bloom- och Cuckoo-filter liknar varandra, men var och en har en unik uppsättning fördelar och nackdelar som ligger utanför omfånget för den här dokumentationen.
Mer information finns i RedisBloom.
RedisTimeSeries
RedisTimeSeries-modulen lägger till tidsseriefunktioner med högt dataflöde i cacheminnet. Den här datastrukturen är optimerad för stora mängder inkommande data och innehåller funktioner för att arbeta med tidsseriedata, inklusive:
- Aggregerade frågor (till exempel medelvärde, högsta, standardavvikelse osv.)
- Tidsbaserade frågor (till exempel starttid och sluttid)
- Nedsampling/decimering
- Dataetiketter för sekundär indexering
- Konfigurerbar kvarhållningsperiod
Den här modulen är användbar för många program som omfattar övervakning av strömmande data, till exempel IoT-telemetri, programövervakning och avvikelseidentifiering.
Mer information finns i RedisTimeSeries.
RedisJSON
RedisJSON-modulen lägger till funktionen för att lagra, fråga och söka efter JSON-formaterade data. Den här funktionen är användbar för att lagra dokumentliknande data i cacheminnet.
Funktionerna omfattar:
- Fullständigt stöd för JSON-standarden
- Många olika åtgärder för alla JSON-datatyper, inklusive objekt, tal, matriser och strängar
- Dedikerad syntax och snabb åtkomst för att välja och uppdatera element i dokument
RedisJSON-modulen är också utformad för användning med RediSearch-modulen för att tillhandahålla integrerad indexering och frågekörning av data på en Redis-server. Att använda båda modulerna tillsammans kan vara ett kraftfullt verktyg för att snabbt hämta specifika datapunkter i JSON-objekt.
Några vanliga användningsfall för RedisJSON är program som att söka i produktkataloger, hantera användarprofiler och cachelagra JSON-strukturerade data.
Mer information finns i RedisJSON.
Kommentar
Kommandot FT.CONFIG
stöds inte för uppdatering av modulkonfigurationsparametrar. Detta kan dock uppnås genom att skicka in argument som konfigurerar modulerna när du använder hanterings-API:er. Du kan till exempel se exempel på hur du konfigurerar ERROR_RATE
egenskaperna och INITIAL_SIZE
för RedisBloom-modulen med hjälp av parametern args
med REST API, Azure CLI eller PowerShell.