Redis - redis的定义、特点、应用场景

1、定义

       Redis是一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),使用C语言编写,Redis是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash。Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。使用C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。

2、特点

Redis以内存作为数据存储介质,读写数据的效率极高。

Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启,数据也不会丢失。

Redis的存储分为内存存储、磁盘存储和log文件。

Redis可以从磁盘重新将数据加载到内存中,也可以通过配置文件对其进行配置,因此,redis才能实现持久化。

Redis支持主从模式,可以配置集群,更利于支撑大型的项目。

3、应用场景,能做什么

        众多语言都支持Redis,因为Redis交换数据快,在服务器中常用来存储一些需要频繁调取的数据,节省内存开销,也极大的提升了速度。

        将一些热点数据存储到Redis中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

  • 会话缓存(最常用) 
  • 消息队列(支付)
  • 活动排行榜或计数
  • 发布,订阅消息(消息通知)
  • 商品列表,评论列表

4、数据类型

  支持五种数据类型:String(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted  set有序集合)

        String(字符串):Redis最基本的数据类型,一个键对应一个值,一个键值最大存储512MB;

        Hash(哈希):hash是一个键值对集合,是String类型的field和value的映射表,适合用于存储对象;

        List(列表):是redis的简单的字符串列表,按插入顺序排序,可以重复;

        Set(集合):是String字符串类型的无序集合,不可重复;

        ZSet(sorted set 有序集合):是String类型的有序集合,也不可重复。每个元素都需要指定一个分数,根据分数对元素进行升序排序。

5、redis和mysql的区别

(1)类型上

从类型上来说,mysql是关系型数据库,redis是非关系型数据库。

(2)作用上

mysql用于持久化的存储数据到硬盘,功能强大,速度较慢,基于磁盘,读写速度没有Redis快,但是不受空间容量限制,性价比高。

redis用于存储使用较为频繁的数据到缓存中,读取速度快,基于内存,读写速度快,也可做持久化,但是内存空间有限,当数据量超过内存空间时,需扩充内存,但内存价格贵。

(3)需求上

mysql和redis因为需求的不同,一般都是配合使用。

需要高性能的地方使用Redis,不需要高性能的地方使用MySQL。

存储数据在MySQL和Redis之间做同步。

posted @ 2020-06-07 12:36  李若盛开  阅读(299)  评论(0)    收藏  举报