Table of contents [ hide ] Basic theory CAP States that any distributed data store can provide only two of the following three guarantees. Consistency Every read receives the most recent write or an error. Availability Every request receives a (non-error) response, without the guarantee that it contains the most recent write. Partition tolerance The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes. Typical architecture of distributed systems When a network partition failure happens, it must be decided whether to do one of the following: CP: cancel the operation and thus decrease the availability but ensure consistency AP: proceed with the operation and thus provide availability but risk inconsistency. BASE Basically-available, soft-state, eventual consistency. Base theory is the practical application of CAP theory, that is, under the premise of the existence of partitions and copies, through certain syste
Redis
To improve response time and avoid the burden on the database, caching is a commonly used tool, and Redis is the most famous and best caching tool.
Basic Operation
SRING
Save string, integer or double.
LIST
Linked list, we can prune nodes like list or queue.
SET
Like HashSet, the values in the set are unique.
HASH
Often objects with multiple properties are saved.
ZSET
Same as linked hashmap, with orderliness.
Advanced Operation
Math operation.
Element operations, such as union and heteroset.
Key operations such as checking existence or getting all keys.
Key expire operation.
Backup
RDB
Snapshot of all data, fast recovery.
AOF
Operation log appending, recovery is slow.
Backup thread operations
save: the operation will stop the client threads.
bgsave: the operation add new a thread to do backup.
After redis4.0, you can use rewrite Aof with Rdb + Aof to reduce recovery time and save volume.
Usage
Single
Testing or basic use of small machines.
Master-slave
Can withstand more operations than smaller machines.
Sentinel
A service that can automatically monitor and switch between master and slave.
Cluster
It has all the functions of master-slave and sentinel, and can easily add or delete nodes.
Distributed lock
In microservices, to avoid inventory problems caused by concurrency, distributed locks are needed to ensure that inventory can be added or subtracted correctly.
Gossip protocol
https://en.wikipedia.org/wiki/Gossip_protocol
留言
張貼留言