redis Zelfstudie
Aan de slag met redis
Zoeken…
Opmerkingen
Deze sectie geeft een overzicht van wat Redis is en waarom een ontwikkelaar het misschien wil gebruiken.
Het moet ook alle grote onderwerpen binnen Redis vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor Redis nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.
versies
Versie | Publicatiedatum |
---|---|
3.2.3 | 2016/08/02 |
3.2.2 | 2016/07/28 |
Overzicht
Redis is een externe database in het geheugen die hoge prestaties, replicatie en een uniek datamodel biedt om een platform te produceren voor het oplossen van problemen. Redis is een open source (BSD-licentie), in-memory gegevensstructuur, gebruikt als database-, cache- en berichtenmakelaar. Het is gecategoriseerd als een NoSQL-sleutel / waarde-opslag. Het ondersteunt datastructuren zoals strings, hashes, lijsten, sets, gesorteerde sets met bereikquery's, bitmaps, hyperloglogs en geospatiale indexen met radius-query's. Ondersteuning van vijf verschillende soorten gegevensstructuren,
- STRING (opereren op de hele string, delen, gehele getallen en drijvers)
- LIJST (Push of pop items van beide uiteinden)
- SET (Toevoegen, ophalen, verwijderen, controleren, kruisen, unie, verschil, enz.)
- HASH (opslaan, bewaren, verwijderen in hash)
- ZSET (hetzelfde als ingesteld maar op geordende manier)
- GEO (toevoegen, bijwerken, verwijderen van lengte- en breedtegraad, binnen bepaalde redius komen)
Redis heeft ingebouwde replicatie, Lua-scripting, LRU-uitzetting, transacties en verschillende niveaus van persistentie op de schijf (sync / async).
Voorafgaand aan versie 3 werkt Redis in master-slave-modus en vereist Redis-Sentinel om hoge beschikbaarheid te bieden. Alleen master accepteert schrijft en synchroniseert gegevens naar zijn slaves door forking.
Vanaf versie 3 werkt & beveelt Redis multi-master-modus aan waarbij failover-, sharding / paritioning-, resharding-functies zijn ingebouwd. Redis-Sentinel is niet vereist vanaf versie 3. Om het redis-cluster te laten werken, zijn minimaal 3 hoofdknooppunten / processen vereist.
Extra functies zijn replicatie, persistentie en client-side sharding. Redis is geschikt voor een breed scala aan problemen die op natuurlijke wijze kunnen worden toegewezen aan wat Redis aanbiedt, zodat u uw problemen kunt oplossen zonder het conceptuele werk te hoeven uitvoeren dat door andere databases wordt vereist.
Redis opdrachtregelinterface
redis-cli
is het redis-cli
opdrachtregelinterfaceprogramma waarmee opdrachten naar Redis kunnen worden verzonden en de antwoorden kunnen worden gelezen die door de server zijn verzonden, rechtstreeks vanaf de terminal. Het basisgebruik van de opdrachtregel staat hieronder:
Toegang tot redis:
$ redis-cli
127.0.0.1:6379>
Toegang tot redis met authenticatie:
$ redis-cli -a myPassword
127.0.0.1:6379>
Selecteer database en toon database grootte (standaard database nummer is 0):
127.0.0.1:6379> dbsize
(integer) 2
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 20
Krijg informatie en statistieken over de server:
127.0.0.1:6379> info
redis_version:2.4.10
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.6
process_id:947
uptime_in_seconds:873394
uptime_in_days:10
lru_clock:118108
used_cpu_sys:19.55
used_cpu_user:397.46
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:14295792
used_memory_human:13.63M
used_memory_rss:19853312
used_memory_peak:14295760
used_memory_peak_human:13.63M
mem_fragmentation_ratio:1.39
mem_allocator:jemalloc-2.2.5
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1468314087
bgrewriteaof_in_progress:0
total_connections_received:2
total_commands_processed:2
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=2,expires=0
db1:keys=20,expires=0
Verlaten van de redis-cli:
127.0.0.1:6379> exit
Redis "Hallo wereld"
Eerst moet u uw Redis-server installeren en starten, vink de onderstaande link aan die u kan helpen redis op uw server of lokale machine te installeren.
Open nu uw opdrachtprompt en voer opdracht redis-cli
:
Om de eerste set op te slaan> SET 'sleutelnaam' dan 'waarde'
127.0.0.1:6379> SET hkey "Hello World!"
Druk op Enter die je zou moeten zien
OK
Voer vervolgens in:
GET hkey
Je zou moeten zien:
"Hello World!"
Schermuitvoervoorbeeld:
Installeer Redis met behulp van Docker
Het is eenvoudig om Redis te gebruiken met Docker:
docker pull redis
docker run -p 6379:6379 --rm --name redis redis
Nu heb je een exemplaar op poort 6397
Let op: Alle gegevens worden verwijderd wanneer Redis wordt gestopt.
Start een ander docker om de redis-cli te verbinden:
docker run -it --link redis:redis --rm redis redis-cli -h redis -p 6379
Nu kun je spelen met je redis docker.
Installatie opnieuw uitvoeren op Windows, met bijvoorbeeld Node.js
Redis heeft een Windows-poort aangeboden door 'Microsoft Open Technologies'. U kunt het msi-installatieprogramma gebruiken dat te vinden is op: https://github.com/MSOpenTech/redis/releases
Nadat de installatie is voltooid, kunt u zien dat 'Redis' een Windows-service is (en de status moet 'Gestart' zijn)
Om een 'Hallo wereld'-voorbeeld te schrijven dat Redis in Node.js gebruikt (ook in Windows), kunt u de volgende npm-module gebruiken: https://www.npmjs.com/package/redis
codevoorbeeld:
var redis = require('redis'),
client = redis.createClient();
client.set('mykey', 'Hello World');
client.get('mykey', function(err,res){
console.log(res);
});