教程 > Redis教程 阅读:121

Redis教程

Redis简介


Redis,英文全称 Remote DIctionary Server,是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis 是完全开源免费的,它使用 ANSI C 语言编写、遵守 BSD 协议。并且是一个支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,而且提供多种语言的 API。

Redis 中提供了多种的数据结构,其中包括:字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)和 数据流(streams)等。因此 Redis 也通常被称为数据结构服务。

Redis的用途及特点


Redis 最常见的应用场景是 数据库、缓存和消息队列。

单就缓存来说,Redis相较于其他的 key-value 缓存系统有以下两个特点:

  • 数据持久化 Redis中的数据是持久化的,断电重启后,数据也不会丢失。它可以将数据存储在硬盘上,重启的时候可以再将数据加载到内存中;
  • 主从复制 Redis 不仅仅是一个单机存储服务器,它还支持主从模式,还可以配置集群。从而更利于支持大型项目。

Redis的优势


  • 高性能:Redis拥有超高的读写性能,Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 持久化: 当所有数据都存在于内存中时,可以根据自上次保存以来经过的时间和/或更新次数,使用灵活的策略将更改异步保存在磁盘上。Redis 支持仅附加文件(AOF)持久化模式;
  • 原子性: Redis的所有操作都是原子性的,所谓原子性就是一次操作中间不会有其他的执行插入,直到执行完此次操作(成功或失败)。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 Redis还支持 publish/subscribe, 通知, key 过期等等特性。
  • 数据结构多样性 Redis不仅仅支持 key-value的数据结构,还支持 列表(lists)、集合(sets)、有序集合(sorted sets)等多种数据结构。

Redis的架构


Redis 是由两部分组成的: 客户端(redis-cli)和 服务端(redis-server)。二者可以位于一台机器上,也可以位于不同的机器上。

客户端除了Redis本身自带的之外,很多的编程语言,PHP、Go、Java等,也支持对Redis服务的操作,这些都可以作为redis的客户端。

查看笔记