Redis is a very fast, open source, written in ANSI C language, supports network, can be memory-based and persistent, log-type, non-relational, Key-Value database, and provides APIs in multiple languages. .
#Redis is a high-performance key-value database. The emergence of redis has largely compensated for the shortcomings of key/value storage such as memcached, and can play a very good supplementary role to relational databases in some situations. It provides Java, C/C, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang and other clients, which is very convenient to use. (Recommended learning: Redis video tutorial)
Redis supports master-slave synchronization. Data can be synchronized from the master server to any number of slave servers, and the slave server can be a master server associated with other slave servers. This allows Redis to perform single-level tree replication. Saving can write data intentionally or unintentionally. Since the publish/subscribe mechanism is fully implemented, when the slave database synchronizes the tree anywhere, it can subscribe to a channel and receive the complete message release record of the master server. Synchronization is helpful for scalability and data redundancy of read operations.
Main features of Redis
Advanced data structure: Provides five possible data types for values: string, Lists, sets, hashes and sorted sets. Operations unique to these data types are provided and have well-documented time complexity (Big O notation).
High Performance: Due to its in-memory nature, the project maintainers' commitment to keeping complexity to a minimum, and its event-based programming model, Redis has excellent performance for read and write operations.
Lightweight with no dependencies: Written in ANSI C with no external dependencies. Works in all POSIX environments. Windows is not officially supported, but Microsoft offers an experimental version.
High availability: Built-in support for asynchronous, non-blocking, master/slave replication to ensure high availability of data. There is a high availability solution called Redis Sentinel that is currently available but is still considered a work in progress.
For more redis related technical knowledge, please visit the Redis usage tutorial column to learn!
The above is the detailed content of What database is Redis?. For more information, please follow other related articles on the PHP Chinese website!