简介

通俗的来说,Redis就是一个开源的,key-value的非关系型的的内存数据库。

Redie的Github的官方主页上是这样描述的:

Redis 通常被称为数据结构服务器。这意味着 Redis 通过一组命令提供对可变数据结构的访问,这些命令使用带有 TCP 套接字和简单协议的服务器-客户端模型发送。所以不同的进程可以以共享的方式查询和修改相同的数据结构。 Redis 中实现的数据结构有一些特殊的属性:

  • Redis 关心将它们存储在磁盘上,即使它们总是被提供并修改到服务器内存中。这意味着 Redis 速度快,但它也是非易失性的。
  • 数据结构的实现强调内存效率,因此与使用高级编程语言建模的相同数据结构相比,Redis 内部的数据结构可能使用更少的内存。
  • Redis 提供了许多在数据库中自然可以找到的功能,例如复制、持久性可调级别、集群和高可用性。

另一个很好的例子是将 Redis 视为 memcached 的更复杂版本,其中的操作不仅仅是 SET 和 GET,而是处理复杂数据类型(如列表、集合、有序数据结构等)的操作。

官方地址

Redis官方文档:https://redis.io/
Github:https://github.com/redis/redis
下载地址:https://download.redis.io/releases/
windows版下载地址:https://github.com/MicrosoftArchive/redis/releases

Redis的特点

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

    Redis的优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。