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.
The rise of redis is no accident. It does have its own new things in it. Unlike Memcached, it can only store data in memory. It provides persistence mechanism and data synchronization to avoid downtime. The problem of avalanche behind the machine is that after the server has a problem, all the original data retained in the memory is lost, and the data needs to be reorganized into the memory. At this time, Memcached will go through a very slow process.
Redis’ support for persistence is only one of its weapons. In addition, Redis also provides up to 5 data storage methods for different needs to achieve maximum efficiency. To meet your needs, these data types are introduced below:
一 string
String is the simplest type, you can understand it as the same as Memcached Exactly the same type, one key corresponds to one value, and the operations supported are similar to those of Memcached. But it's much more feature-rich.
2 list (double linked list)
list is a linked list structure, its main functions are push, pop, get all values in a range, etc. The reason why it is bidirectional is that it can operate on the left and right sides of the linked list respectively
三dict(hash table)
Set is a set, which is similar to our mathematics The concepts of collections in are similar. Operations on collections include adding and deleting elements, and performing intersection and difference operations on multiple collections. In the operation, the key is understood as the name of the set
Four zset (sort set)
zset is an upgraded version of set. It adds a sequence on the basis of set Attribute, this attribute can be specified when adding and modifying elements. Each time it is specified, zset will automatically re-adjust the order according to the new value. You can set the sorting weight for the value of the specified key. It uses the ranking module more
5 Hash type
Redis can store the data of multiple attributes of the key (For example, user1.uname user1.passwd), of course, you can store these attributes in json format and operate them directly as string type, but this will affect the performance, so redis proposes the Hash type.
The above is the detailed content of What data structures does Redis support?. For more information, please follow other related articles on the PHP Chinese website!