2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1. Suorituskyky
Redis: Käyttää vain yhtä ydintä Redisillä on keskimäärin parempi suorituskyky kuin Memcached, kun se tallentaa pieniä tietoja jokaiseen ytimeen.
Memcached: Voit käyttää useita ytimiä, ja yli 100 000 datassa Memcached-suorituskyky on parempi kuin Redis.
2. Muistin käytön tehokkuus
MemCached: Käyttämällä yksinkertaista avainarvojen tallennusta, Memcached käyttää enemmän muistia.
Redis: Jos avainarvojen tallentamiseen käytetään hash-rakennetta, sen muistin käyttöaste on korkeampi kuin Memcachedin yhdistetyn pakkauksen vuoksi.
3. Muistitila ja tiedon koko
MemCached: Maksimimuistia voidaan muokata käyttämällä LRU-algoritmia. Yksittäisen avainarvon koko Memcachedissa on rajoitettu, ja arvo tukee vain enintään 1 megatavua.
Redis: Lisää VM-ominaisuuksia ja rikkoo fyysisen muistin rajoitukset. Redis tukee yksittäisen avainarvon enimmäiskokoa 512 Mt.
4. Tietorakenteen tuki
MemCached: Yksi tietorakenne, käytetään vain tietojen välimuistiin.
Redis: Tukee monipuolisempia tietotyyppejä. Redis ei tue vain yksinkertaisia k/v-tyyppisiä tietoja, vaan tarjoaa myös tietorakenteiden, kuten luettelon, joukon, zset ja hash, tallennuksen.
Runsaat toiminnot datalle voidaan suorittaa suoraan palvelinpuolella, mikä voi vähentää verkon IO-aikoja ja datamäärää.
5. Luotettavuus
Memcached: Se on vain välimuisti, jolla on alhaiset luotettavuusvaatimukset. MemCached ei tue tietojen pysyvyyttä. Tiedot katoavat sähkökatkon tai uudelleenkäynnistyksen jälkeen, mutta vakaus on taattu.
Redis: sillä on korkeat luotettavuusvaatimukset, se tukee tietojen pysyvyyttä ja tietojen palautusta, mahdollistaa yksittäiset vikakohdat ja vaikuttaa myös suorituskykyyn. Tukee tietojen varmuuskopiointia, eli tietojen varmuuskopiointia isäntä-slave-tilassa. Redis tukee tietojen pysyvyyttä ja voi tallentaa tiedot muistiin levylle ja ladata ne uudelleen käytettäväksi uudelleenkäynnistyksen yhteydessä.
6. Sovellusskenaariot
Välimuistissa oleva: Vähennä tietokannan kuormitusta ja paranna suorituskykyä dynaamisissa järjestelmissä, mikä sopii enemmän lukemiseen, pienempään kirjoittamiseen ja suuriin tietomääriin.
Redis: Soveltuu järjestelmiin, jotka vaativat korkeaa luku- ja kirjoitustehokkuutta, monimutkaista tietojenkäsittelytoimintaa ja korkeita turvallisuusvaatimuksia.
1.redis asennus
Sammuta palomuuri ensin
- 先把防火墙关掉
- systemctl stop firewalld
- set setenforce 0
-
- [root@localhost ~]# yum -y install gcc* zlib-devel
- 解压 redis包
- [root@localhost ~]# tar xvzf redis-4.0.9.tar.gz
- [root@localhost ~]# cd redis-4.0.9/
-
- make
- 2:查看进程
- [root@localhost utils]# netstat -anpt | grep redis
-
- 3:redis服务控制
- [root@localhost ~]#/etc/init.d/redis_6379 stop
- [root@localhost ~]#/etc/init.d/redis_6379 start
- [root@localhost ~]#/etc/init.d/redis_6379 restart
- [root@localhost ~]#/etc/init.d/redis_6379 status
- 4.配置参数的修改
- [root@localhost ~]#vim /etc/redis/6379.conf
- bind 127.0.0.1 192.168.10.101 //监听的主机地址
- port 6379 //端口
- daemonize yes //启用守护进程
- pidfile /var/run/redis_6379.pid //指定 PID 文件
- loglevel notice //日志级别
- logfile /var/log/redis_6379.log //指定日志文件
-
- [root@localhost~]#/etc/init.d/redis_6379 restart
- [root@localhost utils]# netstat -anpt | grep redis
-
- 二:Redis 命令工具
- redis-server:用于启动 Redis 的工具;
- redis-benchmark:用于检测 Redis 在本机的运行效率;
- redis-check-aof:修复 AOF 持久化文件;
- redis-check-rdb:修复 RDB 持久化文件;
- redis-cli:Redis 命令行工具。
aseta luoda
saada näkymä
avaimet * katso kaikki
nimeä uudelleen (korvaa)
renamenx (tarkista, onko sama nimi, ja päätä sitten, suoritetaanko uudelleennimeämiskomento,)
del (komento voi poistaa nykyisen tietokannan määritetyn avaimen)
olemassa (komento voi määrittää, onko avainarvo olemassa)
type (käytä type-komentoa saadaksesi avainta vastaavan arvotyypin)
valitse (vaihda tietokantaa)
siirtää (siirrä tietoja)
flushdb (tyhjennä nykyiset tietokantatiedot)
flushall (tyhjennä kaikki tietokantatiedot)
- -p:指定服务器端口;
- -s:指定服务器 socket;
- -c:指定并发连接数;
- -n:指定请求数;
- -d:以字节的形式指定 SET/GET 值的数据大小;
- -k:1=keep alive 0=reconnect;
- -r:SET/GET/INCR 使用随机 key, SADD 使用随机值;
- -P:通过管道传输<numreq>请求;
- -q:强制退出 redis。仅显示 query/sec 值;
- --csv:以 CSV 格式输出;
- -l:生成循环,永久执行测试;
- -t:仅运行以逗号分隔的测试命令列表;
- -I:Idle 模式。仅打开 N 个 idle 连接并等待。
Redis Kaikki tiedot tallennetaan muistiin ja tallennetaan sitten asynkronisesti levylle ajoittain.(Tätä kutsutaan“Puolipysyvä tila”)Voit myös kirjoittaa jokaisen tietomuutoksen kohtaan a liitä vain tiedosto (aof)sisään(Tätä kutsutaan“Täysi pysyvyystila”)。
koska Redis Kaikki tiedot tallennetaan muistiin, jos pysyvyyttä ei ole määritetty,Redis Uudelleenkäynnistyksen jälkeen kaikki tiedot menetetään.Siksi on tarpeen ottaa käyttöönRedis Pysyvyystoiminto tallentaa tiedot levylle Redis Uudelleenkäynnistyksen jälkeen tiedot voidaan palauttaa levyltä.Redis Kaksi menetelmää on säädetty pysyvyyttä, yksi on RDB(Redis-tietokanta) Pysyvyys (periaate on ReidsMuistissa olevan tietokannan kirjaamisen ajoitus kaatopaikka levylle RDB sinnikkyys), toinen on AOF(liitä vain tiedosto)Pysyvyys (periaate on Reids Toimintaloki kirjoitetaan tiedostoon liitteenä).
Oletusmenetelmä
RDB-pysyvyys on prosessi, jossa luodaan tilannekuva nykyisestä prosessitiedosta ja tallennetaan se kiintolevylle. RDB-pysyvyys on jaettu manuaaliseen liipaisuun ja automaattiseen liipaisuun.
Liipaisumekanismi: Manuaalinen laukaisu vastaa tallennus- ja bgsave-komentoja.
save-komento: estää nykyisen Redis-palvelimen, kunnes RDB-prosessi on valmis. Tapauksissa, joissa on paljon muistia, se aiheuttaa aikaeston. Ei suositella käytettäväksi verkkoympäristöissä.
bgsave-komento: Redis-prosessi suorittaa haarukkatoiminnon (prosessin luomiseen käytetty toiminto) aliprosessin luomiseksi. RDB-pysyvyysprosessi on vastuussa aliprosessista ja päättyy automaattisesti valmistumisen jälkeen. Lukitus tapahtuu vain haarukkavaiheen aikana.
RDB:n edut:
RDB on kompakti, pakattu binääritiedosto, joka edustaa tilannekuvaa Redis-tiedoista tietyllä hetkellä. Se sopii erittäin hyvin varmuuskopiointiin, täydelliseen kopiointiin ja muihin skenaarioihin. Suorita esimerkiksi bgsave-varmuuskopio 6 tunnin välein ja kopioi RDB-tiedosto etäkoneeseen tai tiedostojärjestelmään katastrofipalautusta varten.
Redis lataa RDB:n ja palauttaa tiedot paljon nopeammin kuin AOF-menetelmä.
RDB:n haitat:
RDB-tilassa olevat tiedot eivät voi saavuttaa reaaliaikaista pysyvyyttä/toisen tason pysyvyyttä. Koska joka kerta kun bgsave ajetaan, haarukkatoiminto suoritetaan lapsiprosessin luomiseksi, mikä on raskas operaatio ja toistuvan suorituksen kustannukset ovat liian korkeat.
RDB-tiedostot tallennetaan tietyssä binäärimuodossa Redis-versioiden kehityksen aikana on olemassa useita RDB-versioiden muotoja. Ongelmana on, että Redis-palvelun vanha versio ei ole yhteensopiva RDB-muodon uuden version kanssa.
2. Mikä on AOF?
AOF (apppend only file) pysyvyys: tallenna jokainen kirjoituskomento itsenäiseen lokiin ja suorita sitten AOF-tiedoston komento uudelleen tietojen palauttamiseksi uudelleenkäynnistyksen yhteydessä. AOF:n päätehtävä on ratkaista reaaliaikainen tietojen pysyvyyden ongelma. Se on nyt Redisin pysyvyyden valtavirta.
Uhraa jonkin verran suorituskykyä vastineeksi paremmasta välimuistin johdonmukaisuudesta (AOF),
Kun kirjoitustoiminnot ovat toistuvia, älä ota varmuuskopiointia käyttöön vastineeksi paremmasta suorituskyvystä ja odota manuaalista käyttöä. Tallentaa kun, tee varmuuskopio uudelleen (RDB)
Huomautus:
Jos pysyvä tiedosto on ladattava uudelleenkäynnistyksen jälkeen, AOF-tiedostot valitaan.
Jos RDB on ensin käytössä ja sitten AOF käytössä, ja RDB säilytetään ensin, AOF korvaa RDB-tiedoston sisällön.
[root@localhost ~]# vim /etc/redis/6379.conf
Avata 6379.conf Hae tiedoston jälkeen Tallentaa, näet kokoonpanotiedot alla olevan kuvan mukaisesti.
olla olemassa Redis Asetustiedostossa on kolme synkronointimenetelmää, ne ovat:
aina: synkroninen pysyvyys, aina kun tiedot muuttuvat, ne kirjoitetaan levylle välittömästi
everysec: Suositellaan oletuksena, tallenna asynkronisesti joka sekunti (oletusarvo)
ei: Ei synkronointia, joten käyttöjärjestelmä päättää synkronointitavan
Ohita viimeinen mahdollisesti ongelmallinen ohje
[root@localhost ~]#/etc/init.d/redis_6379 uudelleenkäynnistys
ratkaistakseen AOF Jos tiedostokoko kasvaa edelleen, käyttäjät voivat raportoida osoitteeseen Redis lähettää BGREWRITEAOFTilaus.BGREWRITEAOF Komento poistetaan kautta AOF tiedostossa olevat ylimääräiset komennot ohittavat (kirjoittaa uudelleen)AOFtiedosto, tee AOF Pidä tiedostokoko mahdollisimman pienenä.
127.0.0.1:6379> bgrewriteaof
Taustalla vain liitetiedoston uudelleenkirjoitus aloitettu
# Kun loki on BGREWRITEAOF,josno-appendfsync-on-rewriteAseta arvoon kyllä, mikä tarkoittaa, että uusia kirjoitustoimintoja ei synkronoida fsyncin kanssa, vaan ne tallennetaan vain väliaikaisesti puskuriin. , välttääksesi levyn IO-toimintoristiriidat, odota, kunnes uudelleenkirjoitus on valmis, ennen kuin kirjoitat. Rediksen oletusarvo on ei
no-appendfsync-on-rewrite no
# Kun nykyinen AOF-tiedoston koko on kaksi kertaa AOF-tiedoston koko viimeisen lokin uudelleenkirjoituksen aikana, tapahtuu BGREWRITEAOF-toiminto.
automaattinen uudelleenkirjoitusprosentti 100
Huomautus:
100ViittaaaofTiedoston kasvusuhde viittaa nykyisen AOF-tiedoston kasvusuhteeseen verrattuna viimeiseen uudelleenkirjoitukseen.,100on kaksi kertaa
#Nykyisen AOF-tiedoston vähimmäisarvo BGREWRITEAOF-komennon suorittamiseksi, jotta vältetään toistuva BGREWRITEAOF, koska tiedostokoko on pieni, kun Reids käynnistetään ensimmäisen kerran.
auto-aof-rewrite-min-size 64mb
192.168.9.236:7001> tieto muisti
used_memory:1210776 #Käytetyn muistin koko,tavuissa
used_memory_human:1,15M # Näyttö yksiköllä,paikassa M
used_memory_rss:7802880 # Kuinka paljon muistia redis vie käyttöjärjestelmän näkökulmasta?
used_memory_rss_human:7.44M # Näyttö yksiköllä
maxmemory:1073741824 # Muistin enimmäiskoko
maxmemory_human:1.00G # Näyttö yksiköllä
maxmuisti-politiikka: Kierrätysstrategia
Ø volatile-lru: se sallii Redis Valitse koko tietojoukosta vähiten käytetty avain Poistaa
Ø haihtuva-ttl:mukaanavainpoistamisen viimeinen käyttöaika
Ø haihtuva-satunnainen: Valitse satunnaisesti poistettavat tiedot tietokokoelmasta asetetulla vanhenemisajalla;
Ø allkeys-lru:käyttää LRU Algoritmit poistavat tiedot kaikista tietojoukoista;
Ø kaikki avaimet-satunnainen: Valitse satunnaisesti tiedot poistettaviksi tiedonkeruusta;
Ø häätö: Poista tietojen poistaminen käytöstä (oletusarvo)
Huomautus:
Aseta avaimen vanhenemisaika
vanhenee v1 10
v1:n vanhenemisaika on 10 sekuntia
Huomautus:
kun Redis Se on hankittava takaisin muistipaineen vuoksi avain tunnin,Redis Ensimmäinen harkinta ei ole kierrättää vanhimpia tietoja, vaan vähiten käytettyjä tietoja. avain tai vanhentumassa avain Valitse yksi satunnaisesti avain, poistettu tietojoukosta
Etsi vaadittava salasana ja sen jälkeen salasana Se on oletuksena kommentoitu, eli salasanaa ei vaadita oletuksena seuraavasti:
Avaa kommentti, aseta se omaksi salasanaksesi ja käynnistä uudelleen
Käytä redis-cli muodostaaksesi yhteyden redisiin ja suorita seuraava komento
config set requirepass 123456
Kun suoritus on valmis, sinun ei tarvitse käynnistää uudelleen Sinun on annettava salasanasi, kun poistut asiakasohjelmasta ja kirjaudut sisään uudelleen.
[root@localhost bin]# ./redis-cli -a 123456
[root@localhost bin]# ./redis-cli127.0.0.1:6379> auth 123456
[root@localhost bin]# ./redis-cli -a 123456 shutdown
1) Asetustiedostoa muuttamalla asetettu salasana tulee voimaan pysyvästi.
2) Asetustiedostossa määritetyn salasanan muuttaminen edellyttää uudelleenkäynnistyksen voimaantuloa. Käytä komennolla asetettua salasanaa astuakseen voimaan uloskirjautumisen ja uudelleen sisäänkirjautumisen jälkeen, ja se raukeaa uudelleenkäynnistyksen jälkeen.
3) Komennon prioriteetti on korkeampi kuin asetustiedoston prioriteetti