首先来介绍一下什么是Redis
Redis是一个开源的、高性能的键值存储系统,支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合。它采用C语言编写,主要特点是速度快、使用简单、可靠性高、支持数据持久化、支持主从复制等功能。
Redis 是完全开源免费的,遵守BSD协议,高性能的基于键值对(key-value)的NoSQL(Not Only SQL)数据库。
Redis被广泛应用于缓存、队列、数据存储和消息传递等场景,是当前最受欢迎的NoSQL数据存储之一。
- SQL (Struct Query Lanauge 结构化的查询语言) 。引申含义 RDBMS产品,传统的关系型数据库,存储格式化的表格数据。
- NOSQL (Not Only SQL )不仅仅只有关系型数据库。引申含义:非关系型数据库。存储半格式化和非格式化的数据,如k-v、json、xml
关系型数据库的特点
- 存储结构化数据:多行多列的表结构数据。
- 强事务:支持完整的ACID事务特性。
- 在磁盘中存储数据:可通过索引加速检索。
- 数据量到达一定量级,查询性能就会出现瓶颈:根据表字段不同,在百万或者千万级时会遇到。
- 支持SQL:大部分的SQL语句都可以跨越数据库。
- 原生不支持分布式:需要借助第3方中间件分库分表,以应对海量存储需求。
Redis的特点
- 存储非结构化的数据:k-v方式存储数据。
- 弱事务:支持事务的部分特性。
- 在内存中存储数据,但能同时持久化数据到磁盘。
- 查询性能非常好,但不支持连接查询。
- 不支持SQL,需要使用特定的命令。
- 天然支持集群、数据分片,扩展容易。
Redis就是一个在内存中,存储k-v格式数据,支持自动持久化的NoSQL型数据库。
Redis开发中的应用
典型应用:
- 在一定程度上代替关系型数据库,保存需要持久化,但对事务要求不高的数据:购物车
- 充当应用中的缓存,Redis查询性能非常好,可支持的并发远高于关系型数据库。可以优先从Redis中查询数据,缓存为命中后,再从数据库中查询并缓存数据到Redis中,以提升程序性能。
- Redis提供了丰富的数据类型,可以解决关系型数据库不方便解决的问题,比如:排行榜(热度、时间等维度)、计数器(播放量、浏览数)、社交网络(赞\踩、粉丝、共同好友)
- 解决分布式系统带来的新问题,比如对tomcat集群的session进行统一的存储管理。
说明:Redis并不是万金油,有很多适合它解决的问题,但是也有很多不合适它解决的问题。
- 从数据规模的角度上看,数据可以分为大规模数据小规模数据,Redis的数据是存放在内存中的,虽然现在内存已经足够便宜,但是如果数据量非常大,例如每天有几亿的用户行为数据,使用Redis来存储的话,基本上是个无底洞,经济成本相当的高。
- 从数据冷热的角度上看,数据分为热数据和冷数据。热数据通常是指需要频繁操作的数据,反之为冷数据。如果将这些冷数据放在Redis中,基本上是对于内存的一种浪费,但是对于一些热数据可以放在Redis中加速读写,也可以减轻后端存储的负载,可以说是事半功倍。
接下来就是重点了,Redis要如何安装以及打开它并运行使用呢
Redis的安装使用
博主本人在这里是在Centos7环境下安装的Redis
-
上传
redis-5.x.x.tar.gz
到linux虚拟机的/opt
文件夹
下载链接:链接: