2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Redis (RemoteDictionaryServer, genus dictionarii remotus) est fons aperta datorum NoSQL in C lingua scriptum. Redis decurrit fundatum memoria et subsidia perseuerantiae. Ea formam clavem-value (par clavis-valuitatis) repositam adoptat et necessaria est pars architecturae hodiernae distributae.
NoSQL (NoSQL=Non Tantum SQL), quod significat "non solum SQL", est terminus generalis pro databases non-relatiales. Amet NoSQL databases includunt Redis, MongBD, Hbase, CouhDB, etc. Praedictae databases non-relativae prorsus diversae sunt in rationibus repositis, structurae et usu missionum repono. Ita cogitamus collectionem databases non relativorum, non terminum generalem sicut databases relativos. Aliis verbis, databases praeterquam amet databases relationales relationes non-relativae considerari possunt. NOSQL database consideratur ut altera generationis productum datorum ob commoda sua non-relationalia, distributa, aperta fonte et expansione horizontali.
Database relationis database innixum in relatione relationis exemplar est et plerumque recordum ordinatur. Data in databases procedit ope notionum et methodorum mathematicarum quae sunt algebrae constitutae. Exemplar relativum refertur ad exemplar tabulae duae dimensiva, ideo relativum datorum ordo est ex duabus tabulis dimensivis et relationibus inter eas composita. In rerum natura, varia entia ac variae relationes inter entium relationibus exemplaribus repraesentari possunt. SQL enuntiatio (Latin Data Query Language) est lingua in database relationi fundata et ad notitias relationis relationis datorum recuperare et operari adhibetur.
Cum Web2.0 websites oriuntur, databases relationales exponuntur cum tractantes cum Web2.0 websites, praesertim Web2.0 websites pure dynamicas cum magna notitia et alta concurrentia SNS (Social Networking Services, i.e. socialis network officia). quae difficiles sunt ad solvendum, sicut problema trium altitudinis.
Web2.0 websites dynamicas paginas generabit ac dynamicam informationem praebebit in reali tempore innixa in informationibus personalibus utentis, ideo pagina dynamica technologiae statice adhiberi non potest. Ideo, concursus oneris datorum altissima est, plerumque plus quam 10,000 petitiones legere et scribere/s attingere. Relativum database adhuc vix decem milia petitionum interrogationum sustinere potest, sed si sunt decem milia notitiarum petitiones scribentes, orbis rigidus I0 eam diutius sustinere non potest. Ad ordinarias paginas BBS, saepe altae concurrentes petitiones scribendae sunt.
SNS websites sicut Facebook et Friendfeed generant magnam copiam informationis dynamicae user cotidie. Exempli gratia, Friendfeed non minus quam 250 decies centena millia user informationes dynamicas in mense generabit. Pro databases relationales, investigatio efficientiae valde gravis est cum exsequens SQL queries in tabula continens 250 decies centena millia.
In architectura interretiali datorum difficillimum est horizontaliter scandere. Cum numerus usorum et visitationum ad applicationem systematis in dies augetur, datorum non potest simpliciter augere suam perficiendi et onerare facultatem, additis ferramentis ac servientibus nodis sicut operas interretiales. Praesertim aliquot paginas quae opus habent ad officia 24 horarum diei, upgrades et expansiones datorum saepe comitantur sustentationem temporis et notitiae migrationis, et quod inposuit valde ingens est.
Databases relationis et datorum non-relationalium proprias proprietates et applicationes missionum habent. Relationes databases intendunt relationes, ac databases non-relationes ad repono. Exempli gratia, in ambitu database MySQL ubi lectio et scriptura separantur, notitia frequentius accessa reponenda est in database non relativo ad meliorem accessum celeritatis accessum.
Notitia lectionis et scribendi celeritates altissimas habet. Notitia lectionis celeritatem usque ad 110,000 tempora/s attingere potest, et notitia scripturae celeritas usque ad 81000 ter/s attingere potest.
Genera notitiarum locupletium subsidia, non solum simplices notationes key-valores specierum sustinet, sed etiam operationes generis datas sustinet ut chordae, Listae, Hashes, Sets et Sets ordinati.
Data in memoria pervicacia subsidia servari possunt in disco et rursus ad usum cum restarting onerari possunt.
Atomicae, omnes Redis operationes atomicae sunt.
Data tergum subsidia, hoc est, data tergum in modum servandi domini.
Redis database scientificum est, et captio una est e applicatione missionum communissimarum. Praeterea applicationes communes missionum Redis etiam operationes comprehendunt ad recentissimas N notitias obtinendas, proposita applicationes, applicationes contra, relationes repositas, systemata analysi reali temporis, et colligationem.
[root@localhost~]# systemctl siste firewalld // In ambitu experimentali avertens firewall nullum effectum habet.
[root@localhost ~]# setenforce 0 //Turn off nucleus, qui applicationem currendo impedit.
[root@localhost ~] # yum -y install gcc * zlib-devel // Download instrumenta requiritur ad decompress picem sarcina
[root@localhost~]#tar xvzf redis-4.0.9.tar.gz //redis fons aperta est et libera application
[root@localhost~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# make
Animadverte:
Cum faciens, error sequens apparere potest:
Solutio 1;Facies MALLOC = l *IBC dat speciem memoriae allocator pro libccompile
Solutio II: mundare && make distclean
[root@localhost redis-4.0.9]# faciunt PREFIX=/usr/loci/redis install
[root@localhost ~]# ln -s /usr/locus/redis/bin/* /usr/locus/bin/
[root@localhost redis-4.0.9]# cd /root/redis-4.0.9/utils/
[root@localhost utils]# ./install_server.sh
Animadverte:
Mando fasciculus: /etc/redis/6379.conf//configurationis fasciculi iter
Stipes lima: /var/log/redis_6379.log //log fasciculus path
Data dir: /var/lib/redis/6379 //Data fasciculi iter
Executable: /usr/local/redis/bin/redis-server //executable file path
Cli Executable: /usr/local/redis/bin/redis-cli // Client order versus instrumentum
[root@localhost utils]# netstat -anpt | grep 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
[root@localhost ~]#vim /etc/redis/6379.conf
ligare 127.0.0.1 192.168.10.101 // Audire exercitum oratio
portum 6379 //port
daemonize sic // Admitte daemon processum
pidfile /var/run/redis_6379.pid //specificare PID file
loglevel notitiam // log level
logfile /var/log/redis_6379.log // speciem stipes lima
[root@localhost~]#/etc/init.d/redis_6379 restart
[root@localhost utils]# netstat -anpt | grep redis
Ø redis-servo: instrumentum profectionis redis;
Ø redis-probatio: ad detectionem cursus efficientiae Redis in hac machina adhibita;
Ø redis-reprehendo-aof: refice AOF file perseverantia;
Ø redis-reprehende-rdb: Repara RDB pervicacia imagini;
Ø redis-cli: redis mandatum linea instrumentum.
[root@localhost ~]# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> ping
PUTEO
[root@localhost ~]#redis-cli -h 192.168.10.101 -p 6379
help@<group> : Habe<group> order list in ;
auxilium<command> Adiuva ad imperium;
auxilium<tab> : Indicem locorum qui adiuvant habe.
Animadverte:
auxilium<tab> : Indicem locorum qui adiuvant habe.
Post typing auxilium, tab key premere
127.0.0.1:6379>auxilium @list
127.0.0.1:6379>auxilium paro
redis-Probatium est officialis Redis effectus probationis instrumentum quod efficaciter probare potest officia Redis adimplenda.
Ø -h: Denota servo militiae nomen;
Ø -p: Specificare servo portum;
Ø -s: speciem servo nervum;
-c: Specificare numerum coniunctionum concurrentium;
Ø -n: denotat numerum petitionum;
Ø -d: Specificare data magnitudine SET/VALERE in bytes;
-k:1 = vivere 0 = reconnect;
Ø -r: SET/GET/INCR claves temere utitur, valores temere utitur SADD;
-P: Transmissio per fistulas<numreq> quaeritur;
Ø -q: Numen quit redis. Solus investigatio/sec valores monstrantur;
Ø --csv: output in CSV format;
Ø -l: ansam generale et experimentum perpetuum exercete;
Ø -t: Tantum currunt comma-separatum indices testium mandatorum;
Ø -i: otiosus modus. Aperi modo N otiosos hospites et exspecta.
[root@localhost ~]#redis-probatur -h 192.168.10.101 -p 6379 -c 100 -n 100000 // Mitte 100 nexus concurrentes ac 100000 petitiones probatio Redis ministrantis cum IP inscriptione 192.168.10.101 ac portum perficiendi 6379
Animadverte:
Ø -h: Denota servo militiae nomen;
Ø -p: Specificare servo portum;
-c: Specificare numerum coniunctionum concurrentium;
Ø -n: denotat numerum petitionum;
====== MSET (10 claves) ======
(C) petitiones 1.02 seconds complebitur
C parallel clients ## C coniunctiones concurrentes
III bytes payload
ut vivam: 1
87.25% <= 1 milliseconds ## 87.25% de imperio supplicium tempora minus quam vel aequalis ad I millisecond
99.90% <= 2 milliseconds
100,00% <= 2 milliseconds
petitiones per secundam #Number petitionum per alterum
[root@localhost~]#redis-pro- bitorium -h 192.168.10.101 -p 6379 -q -d 100
Animadverte:
Ø -h: Denota servo militiae nomen;
Ø -p: Specificare servo portum;
Ø -d: Specificare data magnitudine SET/VALERE in bytes;
Ø -q: Numen quit redis. Solus investigatio/sec valores exhibentur;
PING_INLINE: 121506.68 petita per secundam //Quot operationes PING secundo complentur?
PING_BULK: 124378.11 petitiones secundae
SET: 121654.50 petitiones secundae //Quotiens per alterum SET key vlaue efficitur?
GET: 122100,12 petita secunda per //Quot GET key vlaue perficitur per alterum?
INCR: 118764.84 petitiones secundae //Quot nuclei per secundo complentur
LPUSH: 112612.61 petitiones per secundam
RPUSH: 118623.96 petitiones per secundam
LPOP: 107874.87 petitiones secundae
RPOP: 114416.48 petitiones per secundam
SADD: petitiones per secundam 123304.56
HSET: 122249.38 petitiones per secundam
SPOP: 128040.97 petitiones per secundam
LPUSH (opus Probationis LRANGE): petitiones 116686.12 per secundam
LRANGE_100 (prima 100 elementa): 40016.00 petitiones secundae
LRANGE_300 (prima 300 elementa): petitio secunda per 11991.85
LRANGE_500 (prima 450 elementa): petitiones secundae 7381.71
LRANGE_600 (prima 600 elementa): petitiones secundae 5230.67
MSET (10 keys): 92421.44 petitiones per secundam //Multiplex clavis v per alterumlaueMultis petitionibus
[root@localhost ~]# redis-probatio -t set, lpush -n 100000 -q //Probare observantiam servitii Redis in machina hac in operationibus constitutis et lpush.
Animadverte:
Ø -n: denotat numerum petitionum;
Ø -q: Numen quit redis. Solus investigatio/sec valores monstrantur;
Ø -t: Tantum currunt comma-separatum indices testium mandatorum;
SET: 121951.22 petitiones per secundam
LPUSH: 127226.46 petitiones secundae
Ø set: Repono data set clavem valorem。
Ø accipere "Posside data, mandatum basic forma est ut clavem。
exist Redis in database, with clavis Praecepta pertinentia maxime includunt quae sequuntur.
usus claves Praeceptum album capere potest valorum praecipuorum qui regulis conformantur* ,? optiones uti.
127.0.0.1:6379>set k1 1
OK
127.0.0.1:6379>set k2 2
OK
127.0.0.1:6379>set k3 3
OK
127.0.0.1:6379>set v1 4
OK
127.0.0.1:6379>set v5 5
OK
127.0.0.1:6379>CLAVIS *
1) "Magister";
2) "k1"
3) "k2"
4) "k3"
5) "v1"
6) "v5"
127.0.0.1:6379>set v22 5
OK
127.0.0.1:6379>CLAVIS v *
1) "v1"
2) "v5"
3) "v22"
127.0.0.1:6379>CLAVIS v?
1) "v1"
2) "v5"
127.0.0.1:6379>CLAVIS v??
1) "v22"
est Praeceptum determinare potest utrum valorem key existat
127.0.0.1:6379>exstat doctorem
(integrum) 1
Consequens est 1, quod significat magister clavis exstat
127.0.0.1:6379>exstat tea
(integrum) 0
Consequens est 0, quod significat tea key non est
del Quod mandatum potest delere certa clavis
127.0.0.1:6379>claves *
1) "Magister";
2) "v1"
3) "v22"
4) "k3"
5) "k1"
6) "k2"
7) "v5"
127.0.0.1:6379> del v5
(integrum) 1
127.0.0.1:6379>ut v5 *
(nil)
usus type Imperium obtineri potest clavis correspondentes valorem valorem genus
127.0.0.1:6379>typus k1
filum
Animadverte:
Data rationes redis suffulta
secunda nomine Quod mandatum est pro existente clavis secunda nomine
In usu ipso commendatur uti est Imperium ad visum scopum clavis est et utrum facere secunda nomine mandatum ne overwriting momenti notitia
127.0.0.1:6379>claves v *
1) "v1"
2) "v22"
127.0.0.1:6379>secunda nomine v22 v2
OK
127.0.0.1:6379>claves v *
1) "v1"
2) "v2"
127.0.0.1:6379>ut v1 "
"4"
127.0.0.1:6379>ut v2 *
"5"
127.0.0.1:6379>secunda nomine v1 v2 *
OK
127.0.0.1:6379>ut v1 "
(nil)
127.0.0.1:6379>ut v2 *
"4"
renamenx Officium praecepti est mutare existentem clavis Fac rename et deprime num nomen novum existat.
ususrenamenx Cum imperio reno- tatur, si scopo clavis si est, non nominabitur.
127.0.0.1:6379>claves *
1) "Magister";
2) "k3"
3) "k1"
4) "k2"
5) "v2"
127.0.0.1:6379>adepto magister
"secundum"
127.0.0.1:6379>ut v2 *
"4"
127.0.0.1:6379>renamenx V2 doctorem
(integrum) 0
127.0.0.1:6379>claves *
1) "Magister";
2) "k3"
3) "k1"
4) "k2"
5) "v2"
127.0.0.1:6379>adepto magister
"secundum"
127.0.0.1:6379>ut v2 *
"4
dbsize Propositum mandatum est videre current database clavis Numerus ex.
127.0.0.1:6379> dbsize
(integrum) 5
Redis Includitur per default sine aliqua mutationes 16 database, nomen datorum numerus est 0-15 ut nominetur
(1)Vide numerum ad flectendum 10 database
127.0.0.1:6379>eligere 10
OK
(2)Vide numerum ad flectendum 15 database
127.0.0.1:6379[10]>eligere XV "
OK
(3)Vide numerum ad flectendum 0 database
127.0.0.1:6379[15]>eligere 0
Redis Multiplices databases relative independentes sunt aliquatenus, exempli gratia, in datorum 0 Repono supra k1 data, in aliis 1-15 In datorum spectari non potest.
127.0.0.1:6379>set k1 100
OK
127.0.0.1:6379>ut k1
"100"
127.0.0.1:6379>eligere 1
OK
127.0.0.1:6379[1]>ut k1
(nil)
127.0.0.1:6379[1]>eligere 0 //Switch ut target database 0
OK
127.0.0.1:6379>ut k1 //Reprehendo sive in scopum data existit
"100"
127.0.0.1:6379>movere k1 1 //database 0 medium k1 Movere database 1 medium
(integrum) 1
127.0.0.1:6379>eligere 1 //Switch ut target database 1
OK
127.0.0.1:6379[1]>ut k1 //Visum movetur notitia
"100"
127.0.0.1:6379[1]> eligere 0
OK
127.0.0.1:6379> ut k1 //in database 0 Potest videri in k1 valorem
(nil)
Ad current database purgare notitia, utere FLUSHDB
Mandatum exsequendi FLUSHALL Mandatum exsecutionis
Redis All notitia reponitur in memoria et tunc asynchronously servata est orbis a tempore usque ad tempus.(Hoc dicitur“Semi-pertinax modus”)Scribere etiam potes omnem datam mutationem ad a append modo file (aof)in(Hoc dicitur“Plena perseverantia modus”)。
Cum Redis notitia reponitur in memoriam, si perseverantia non configuratur;Redis Post restarting, omnis notitia amissa est.ergo necesse est utRedis Munus perseverantia servat data in disco Redis Post reboot, notitia ex orbe recuperari potest.Redis Duo modi sunt ad perseverantiam: unus est RDB(Redis DataBase) Perseverantia (principium est ReidsIn memoria database logging leo TUBER " ad disci RDB pervicacia), alter is . AOF(append modo file)Perseverantia (principium est Reids Operatio stipes scripta est tabellae modo adiecta).
Congue modum
Persistentia RDB est processus gignendi snapshot processus notitiae hodiernae et salvificam illam ad rigidum.
Mechanismus felis: Manuale excitato respondet servationi et bgsave imperiis respective.
nisi mandatum: impedit current Redis server dum RDB processum perfecit. Non commendatur in usu in ambitibus online.
bgsave mandatum: Processus Redis furca perficit (munus ad processum creandum adhibitum) operandi ad puerum processum creandum. RDB processus perseverantia responsabilis est prolis processus et statim post completionem terminatur. Clausus solum in furca tempus occurrit.
commoda RDB:
RDB compactus est, fasciculus binarius compressus, qui snapshot of Redis notitias certo tempore repraesentat. Aptissimum est ad tergum, plenum exemplum et alios missiones. Exempli causa, tergum bgsave singulis horis 6 horis praestare et limam RDB machinae remotae vel systematis calamitatis recuperare.
Redis onera RDB ac data multo celerius quam AOF methodum recuperat.
RDB incommoda:
Data in RDB modus non potest consequi perseverantiam realem temporis / secundo gradu perseverantiae. Quia omni tempore bgsave curritur, furca operatio exercetur ad processum puerilem creare, qui est operatio gravis gravis et sumptus frequentis exsecutionis nimis altus est.
Documenta RDB in forma binaria specifica servatae sunt. In evolutione Redis versionum multae formae RDB versionum inveniuntur. Difficultas est vetus versio Redis servitii cum nova forma RDB versionis non compatitur.
AOF (solum fasciculi appende) pertinacia: scribere singulos mandatum in stipes independens, ac deinde mandatum in AOF lima re-exsequendi data cum restarting restituendi. Praecipuum munus AOF est problema notitiae pertinaciae solvere. Nunc amet Redis pervicacia.
Criteria ad eligendum inter utrumque;
Sacrificate aliquid faciendum pro altiori cache constantia (AOF),
Cum operationes scribe frequentes sunt, tergum non efficiunt pro melioribus faciendis et manualibus operationibus exspectantibus. salvare quando iterum faciunt tergum (RDB)
Animadverte:
Si lima pertinax indiget onerari post redies restarts, AOF fasciculi eligentur.
Si RDB primum datur, deinde AOF, primumque RDB persistit, contenta in RDB fasciculi AOF supra scripta erunt.
[root@localhost ~]# vim /etc/redis/6379.conf
Open 6379.conf Post tabella, quaerere salvare, videre potes informationem configurationis ut infra ostendetur.
exist Redis Tres modi synchronisationum in file configurationis, hi sunt:
semper: synchrona pervicacia, quotienscumque notitiae mutationes, scribentur in disco statim
everysec: Commendatur per defaltam, record asynchronously omni secundo (default valorem)
non: Nulla synchronisatio, eam relinquens ad systema operantem definiendum quomodo synchronize
Ignore ultimum potentia problematicae disciplinam
[root@localhost ~]#/etc/init.d/redis_6379 restart
ut solve AOF Si lima amplitudo crescere pergit, users referre potest ad Redis mittere BGREWRITEAOFOrdo.BGREWRITEAOF Imperium removebitur via AOF redundans in lima imperium nolens oboedire (RESCRIBO)AOFfile, facere AOF Magnitudinem tabellae quam maxime parvam serva.
127.0.0.1:6379> bgrewriteaof
Background append modo file rewriting coepi
# Cum stipes BGREWRITEAOF,sinullus appendfsync-in-rewriteEtiam pone, id quod significat novas operationes scribendas non esse synchronistas cum fsync, sed solum in quiddam esse conditum. , ne discri IO certamina operationis sustineant donec rescribo ante scripto compleatur. Default in Redis est
nullus appendfsync-in- RESCRIBO no
# Cum hodierna AOF fasciculi magnitudo bis est magnitudo fasciculi AOF in ultimo rescribe stipes, operatio BGREWRITEAOF occurrit.
auto- aof-rescribe cento 100
Animadverte:
100 refers toAOF lima proportio incrementi refert ad rationem incrementi AOF fasciculi currentis comparati cum ultimo rescribe.,C bis est
#The minimum valor documenti hodiernae AOF ad exequendum mandatum BGREWRITEAOF ad frequentes BGREWRITEAOF vitandas ob parvae quantitatis magnitudinem cum primum Reids incepit.
auto- aof-rewrite-min-amplitudo 64mb
192.168.9.236:7001> info memoria
used_memory:1210776 ARCANIS amplitudo memoriae adhibetur,in bytes
used_memory_human:1.15M # Propono cum unitate,in M*
used_memory_rss:7802880 # Quantum memoria redis tenet in prospectu systematis operantis?
used_memory_rss_human: 7.44M # Display cum unitatis
maxmemory: 1073741824 # Maximum memoriae magnitudine
maxmemory_human: 1.00G # Propono cum unitas
maxmemory-consilium: Redivivus belli
Ø volatile-lru: permittit Redis Colligunt minimum nuper ex tota notitia paro clavis Delere
Ø volatile-ttl:Eliminate secundum expirata tempus clavem
Ø volatile-random: Passim selecta data ad eliminationem ex notitia collectionis statuto tempore expleto;
Ø allkeys-lru: usus LRU Algorithmi notitiae ab omni notitia interposita eliminata;
Ø angiportis, temere: passim selecta data ad eliminationem e notitia collectionis;
Ø noeviction: inactivare nulla notitia (default pretii)
Animadverte:
Set intra tempus clavem
exspirare v1 10
V1 habet intra tempus X seconds
Animadverte:
quando Redis Opus est repetere unum ex memoria pressura clavis hora;Redis Prima consideratio vetustissimam datam non redivivum est, sed minima nuper notitia adhibita. clavis aut ut exspiratura clavis Elige unum passim from * clavis, a paro notitia remota
Invenire keyword requirepass, tessera secuta est. De defalta commentatur, id est, tesseram nullam defaltam requiri, ut sequitur:
Aperi commentarium, pone ut tesseram tuam, ac sileo
Utere redis-cli coniungere ad redis et exequi hoc mandatum
aboutconfig set requirepass 123456
Expleto executione non opus est ut sileo.
[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) Tessera posita, limam configurationis modificando, effectum perpetuum habebit;
2) Tesserae modificare in schemate configurationis statutum postulat sileo ut effectum sortiatur; tessera praecepto utere ut effectum post colligationem iterum colligas et irritum fiet postquam sileo.
3) Primatus imperii altior est quam prioritas fasciculi configurationis