1、Redis是什么?
Remote Dictionary Server(远程字典服务器)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库,提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据存在于内存中,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能,提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案。
2、Redis能干什么?
(1)分布式缓存,挡在MySQL数据库之前的带刀护卫。怎么说呢?简单来说就是,当客户端要到mysql数据库查询数据时,他会先去redis中查询,redis没有了他才会去mysql查询,如果在mysql中查询到了,就会把查询到的数据缓存到redis中,给下次客户端查询。
与传统数据库关系(MySQL)
- Redis是key-value数据库(NoSQL一种),MySQL是关系型数据库;
- Redis数据操作主要在内存,而MySQL主要存储在磁盘;
- Redis在某一些场景使用中要明显优于MySQL,比如计数器、排行榜等方面;
- Redis通常用于一些特定场景,需要与MySQL一起配合使用;
- 两者并不是相互替换和竞争的关系,而是共用和配合使用两者并不是相互替换和竞争的关系,而是共用和配合使用。
(2)内存存储和持久化(RDB和AOF):Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。
(3)高可用架构搭配:单机、主从、哨兵、集群。
(4)缓存穿透、击穿、雪崩。
(5)分布式锁。
(6)队列:Redis提供list和Set操作,这使得Redis能作为一个很好的消息队列平台来使用。我们常通过Redis的队列功能做购买限制。比如到了节假日或者推广期间,进行一些活动,对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次。也比较适合使用。
(7)排行榜+点赞:在互联网应用中,有各种各样的排行榜,如电商网站的月度销量排行榜、社交APP的礼物排行榜、小程序的投票排行榜等等。Redis提供的zset数据类型能够快速实现这些复杂的排行榜。比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户。
3、总体功能概述
3.1 优势
(1)性能极高-Redis读的速度是110000次/秒,写的速度是81000次/秒;
(2)Redis数据类型丰富,不仅仅支持简单的Key-Value类型的数据,同时还提供list,set,zset,hash等数据结构的存储;
(3)Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用;
(4)Redis支持数据的备份,即master-slave模式的数据备份。
3.2 总结
4、去哪下
4.1 官网地址
英文:Redis - The Real-time Data Platform
中文:http://www.redis.cn/ redis中文文档
安装包:https://redis.io/download/,选择redis7.0版本即可
4.2 练习地址
Redis在线测试地址(不用下载也能玩):Try Redis
Redis命令参考:Redis 命令参考 — Redis 命令参考
本文为学习笔记,所参考文章均已附上链接,若有疑问请私信!
创作不易,如果对你有点帮助的话麻烦点个赞支持一下!
新手小白,欢迎留言指正!