2023年7月21日发(作者:)
Redis相关概念梳理Redis相关概念介绍1. 概念: redis是⼀款⾼性能的NOSQL系列的⾮关系型数据库1.1.什么是NOSQLNoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是⼀项全新的数据库理念,泛指⾮关系型的数据库。随着互联⽹web2.0⽹站的兴起,传统的关系数据库在应付web2.0⽹站,特别是超⼤规模和⾼并发的SNS类型的web2.0纯动态⽹站已经显得⼒不从⼼,暴露了很多难以克服的问题,⽽⾮关系型的数据库则由于其本⾝的特点得到了⾮常迅速的发展。NoSQL数据库的产⽣就是为了解决⼤规模数据集合多重数据种类带来的挑战,尤其是⼤数据应⽤难题。和关系型数据库区别优点:1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使⽤oracle那样花费⼤量成本购买使⽤,相⽐关系型数据库价格便宜。2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,⾃然查询速度远不及nosql数据库。3)存储数据的格式:nosql的存储格式是key,value形式、⽂档形式、图⽚形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,⽽数据库则只⽀持基础类型。4)扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。缺点:1)维护的⼯具和资料有限,因为nosql是属于新的技术,不能和关系型数据库10⼏年的技术同⽇⽽语。2)不提供对sql的⽀持,如果不⽀持sql这样的⼯业标准,将产⽣⼀定⽤户的学习和使⽤成本。3)不提供关系型数据库对事务的处理。1.2.1. ⾮关系型数据库的优势:1)性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,⽽且不需要经过SQL层的解析,所以性能⾮常⾼。2)可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以⾮常容易⽔平扩展。1.2.2. 关系型数据库的优势:1)复杂查询可以⽤SQL语句⽅便的在⼀个表以及多个表之间做⾮常复杂的数据查询。2)事务⽀持使得对于安全性能很⾼的数据访问要求得以实现。对于这两类数据库,对⽅的优势就是⾃⼰的弱势,反之亦然。1.3.主流的NOSQL产品• 键值(Key-Value)存储数据库相关产品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB典型应⽤: 内容缓存,主要⽤于处理⼤量数据的⾼访问负载。数据模型: ⼀系列键值对优势: 快速查询劣势: 存储的数据缺少结构化• 列存储数据库相关产品:Cassandra, HBase, Riak典型应⽤:分布式的⽂件系统数据模型:以列簇式存储,将同⼀列数据存在⼀起优势:查找速度快,可扩展性强,更容易进⾏分布式扩展劣势:功能相对局限• ⽂档型数据库相关产品:CouchDB、MongoDB典型应⽤:Web应⽤(与Key-Value类似,Value是结构化的)数据模型: ⼀系列键值对优势:数据结构要求不严格劣势: 查询性能不⾼,⽽且缺乏统⼀的查询语法• 图形(Graph)数据库相关数据库:Neo4J、InfoGrid、Infinite Graph典型应⽤:社交⽹络数据模型:图结构优势:利⽤图结构相关算法。劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群⽅案。应⽤场景关系型数据库与NoSQL数据库并⾮对⽴⽽是互补的关系,即通常情况下使⽤关系型数据库,在适合使⽤NoSQL的时候使⽤NoSQL数据库,让NoSQL数据库对关系型数据库的不⾜进⾏弥补。⼀般会将数据存储在关系型数据库中,在nosql数据库中备份存储关系型数据库的数据.1.5 什么是RedisRedis是⽤C语⾔开发的⼀个开源的⾼性能键值对(key-value)数据库,官⽅提供测试数据,50个并发执⾏100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,⽬前为⽌Redis⽀持的键值数据类型如下:1) 字符串类型 string2) 哈希类型 hash3) 列表类型 list4) 集合类型 set5) 有序集合类型 sortedset1.3.1 redis的应⽤场景• 缓存(数据查询、短连接、新闻内容、商品内容等等)• 聊天室的在线好友列表• 任务队列。(秒杀、抢购、12306等等)• 应⽤排⾏榜• ⽹站访问统计• 数据过期处理(可以精确到毫秒• 分布式集群架构中的session分离1.6 Redis下载安装3. 解压直接可以使⽤:* :配置⽂件* :redis的客户端* :redis服务器端
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689900774a293409.html
评论列表(0条)