Redis 入门一:简介
主要内容:
本文主要讲解 Redis 数据库是什么,有什么作用等介绍性的知识。
Redis 是什么:
首先要知道数据库分为关系型数据库,非关系型数据库。关系型数据库最具代表性的就是 MySQL 了,在 MySQL 中数据都是以表格的形式存储在数据库中,每一行是一个记录,在这个记录中每一列都是一个字段。但是非关系型数据库也就是 NoSQL 数据库,它存储数据的时候是不依赖业务逻辑的,是以简单的 key-value 键值对的形式存储的,有了已知的键,可以很快的找到对应的值,大大增加了数据库的扩展能力,为提升性能而生。非关系型数据库有几大特点:
不遵循 SQL 标准
不支持 ACID
远超于 SQL 的性能。
NoSQL 数据库的出现就是为了提高性能,数据读写速度,查询速度而生的。
Redis 是一个开源的 key-value 存储系统,支持 string(字符串),list(列表),set(集合),zset(有序集合)和 hash(哈希类型)。Redis 为了保证效率,数据缓存在内存中。但是 redis 也会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件中,并且在此基础上实现了主从(master-slave)同步。
适用场景:
对数据高并发的读写
海量数据的读写
对数据高扩展性
上面说了 Redis 不支持 ACID,换句话说就是不支持 MySQL 中的事务。因此如果业务中需要支持事务,就不能使用 Redis 数据库来进行存储数据了。再者,如果业务中需要对数据进行结构化查询存储,处理复杂的关系的话就不能使用 Redis 了。
基于 redis 的优点,有哪些具体的应用场景呢?
使用 list 的自然排序,实现得到最新的 N 个数据。
利用 Zset 有序集合,实现排行榜。
Expire 设置数据过期时间,实现验证码的校验
自增方法 incr 和自减方法 decr,实现计数器,和秒杀服务
利用 set 集合(不允许出现重复性数据),实现去除重复数据
pub/sub 模式,实现发布消息和订阅消息。
版权声明: 本文为 InfoQ 作者【打工人!】的原创文章。
原文链接:【http://xie.infoq.cn/article/3155a3497b150decc6089807c】。文章转载请联系作者。
评论