四时宝库

程序员的知识宝库

郑州HTML5大前端入门教程之Redis知识汇总

对于一个Web前端工程师来说数据库知识很重要,因此专业的郑州HTML5大前端入门教程中都要包含数据库相关知识,比如关系型数据库MySQL、Oracle、DB2以及非关系型数据库Hbase、Redis、MongodDB。有部分学员好奇为什么要使用Redis,它究竟有什么优势,今天千锋郑州老师就给大家简单汇总一下Redis相关的知识。

  Redis是什么?

Redis是一个速度非常快的非关系数据库(non-relational database),它可以存储键(key)与5种不同类型的值(value)之间的映射(mapping),可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片1来扩展写性能。

Redis的数据结构致力于帮助用户解决问题,而不会像其他数据库那样,要求用户扭曲问题来适应数据库。除此之外,通过复制、持久化(persistence)和客户端分片(client-side sharding)等特性,用户可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。

Redis的优势和不足是什么?

优点:1)读写性能优异;2)支持数据持久化,支持AOF和RDB两种持久化方式;3)支持主从复制,主机会自动将数据同步到从机,可以进行读写分离;4)数据结构丰富:除了支持string类型的value外还支持string、hash、set、sortedset、list等数据结构。

不足:1)Redis不具备自动容错和恢复功能;2)主机宕机后系统的可用性降低;3)Redis的主从复制采用全量复制,这一过程需要确保主机有足够多的空余内存,会对实际的系统运营造成不小的麻烦;4)Redis较难支持在线扩容。

Redis和MySQL相比有什么区别?

1)类型。Redis是使用内存存储(in-memory)的非关系数据库,而MySQL是关系数据库;

2)数据存储选项。Redis是字符串、列表、集合、散列表、有序集合,MySQL是每个数据库可以包含多个表,每个表可以包含多个行;可以处理多个表的视图(view);支持空间(spatial)和第三方扩展;

3)查询类型。Redis是每种数据类型都有自己的专属命令,另外还有批量操作(bulk operation)和不完全(partial)的事务支持,MySQL是SELECT、INSERT、UPDATE、DELETE、函数、存储过程;

4)附加功能。Redis是发布与订阅,主从复制(master/slave replication),持久化,脚本(存储过程,stored procedure),MySQL是支持ACID性质(需要使用InnoDB),主从复制和主主复制 (master/master replication)。

Redis的数据类型及使用场景

1)String。最常规的set/get操作,value可以是String也可以是数字,一般做一些复杂的计数功能的缓存;

2)hash。value存放的是结构化的对象,比较方便的就是操作其中的某个字段;

3)list。使用List的数据结构,可以做简单的消息队列的功能。可以利用lrange命令做基于redis的分页功能,性能极佳,用户体验好;

4)set。可以做全局去重的功能,另外利用交集、并集、差集等操作,可以计算共同喜好、全部的喜好、自己独有的喜好等功能;

5)sorted set。可以做排行榜应用,取TOP N操作,可以用来做延时任务,可以做范围查找。

以上就是郑州HTML5大前端课程中有关Redis的知识点,一个专业的前端工程师,会充分发挥每个数据库的作用,充分借助其优势提高工作效率。如果你想了解更多关于数据库的知识,可以关注“千锋郑州校区”微信公众号!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接