redis 初始

一,redis简介

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统。

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、
Key-Value 数据库,并提供多种语言的 API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和
有序集合(sorted sets)等类型。

Redis 是一款开源的,ANSI C 语言编写的,高级键值(key-value)缓存和支持永久存储 NoSQL 数据库产品。
Redis 采用内存(In-Memory)数据集(DataSet) 。支持多种数据类型。运行于大多数 POSIX 系统,如 Linux、*BSD、
OSX 等

1.1 redis优点

优点:高性能读写、多数据类型支持、数据持久化、高可用架构、支持自定义虚拟内存、支持
分布式分片集
群、单线程读写性能极高。

1.2 缺点

缺点:多线程读写较 Memcached 慢

二,redis特性

透明性:分布式系统对用户来说是透明的,一个分布式系统在用户面前的表现就像一个传统的单处理机分时
系统,可让用户不必了解内部结构就可以使用。

扩展性:分布式系统的最大特点就是可扩展性,他可以根据需求的增加而扩展,可以通过横向扩展使集群的整体性能得到线性提升,也可以通过纵向扩展单台服务器的性能使服务器集群的性能得到提升

可靠性:分布式系统不允许单点失效的问题存在,它的基本思想是:如果一台服务器坏了,其他服务器接替
它的工作,具有持续服务的特性。

高性能:高性能是人们设计分布式系统的一个初衷,如果建立了一个透明,灵活,可靠的分布式系统,但他
运行起来像蜗牛一样慢,那这个系统就是失败的。

三,redis的常用功能

  1. 高速读写:Redis 在运行时,将数据放在内存当中,利用内存的高性能的特性提高自己的服务性能。

  2. 数据类型丰富:Redis 具有丰富的数据类型,可以适用于各种场景。

  3. 支持持久化:因为 Redis 的数据是放在内存当中的,当 Redis 关机或者内存失效时,数据随即丢失,不可找
    回,为了避免 Redis 重启时发生类似于雪崩事件,所以 Redis 官方增加了一个数据持久化的功能。

  4. 多种内存分配及回收策略:Redis 可以通过 maxmemory 参数来限制最大可用内存,主要为了避免 Redis
    内存超过操作系统内存,从而导致服务器响应变慢甚至死机的情况。而回收策略主要是删除过期的 key 以及
    内存达到 maxmemory 后的淘汰机制。

  5. 支持事物:Redis 也支持类似于 MySQL 数据库那样的事务。

  6. 消息队列、消息订阅: Redis 的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易的实现
    一个高性能的优先队列。同时在更高层面上,Redis 还支持"发布/订阅"的消息模式,可以基于此构建一个聊
    天系统。

  7. 支持高可用:Redis 支持两种高可用集群方式。

原文地址:https://www.cnblogs.com/xiaolang666/p/14135458.html