Redis入门介绍
Redis入门介绍
什么是NoSQL(非关系型数据库 Not Only SQL)
NoSQL是一种专为应对高并发、高可扩展性、高可用性及高写入负载等问题而设计的数据库解决方案。
(仅提供了源代码,需进行编译安装)
NoSQL数据库分类
-
键值(Key-Value)存储数据库
相关产品:Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
典型应用:内容缓存,主要处理高访问负载的大规模数据。
数据模型:一系列键值对
优势:查询速度极快
劣势:存储的数据缺乏结构化特征 -
列存储数据库
相关产品:Cassandra, HBase, Riak
典型应用:分布式文件系统
数据模型:采用列簇方式存储,将同一列数据集中在一起
优势:查找速度快,易于扩展,更适合分布式扩展
劣势:功能相对有限 -
文档型数据库
相关产品:CouchDB、MongoDB
典型应用:Web应用(类似于键值存储,但Value部分结构化)
数据模型:一系列键值对
优势:对数据结构的要求不严苛
劣势:查询性能一般,且缺乏统一的查询语法 -
图形(Graph)数据库
相关数据库:Neo4J、InfoGrid、Infinite Graph
典型应用:社交网络
数据模型:图结构
优势:利用图结构的相关算法进行处理
劣势:往往需要对整个图进行计算以得出结果,难以实施分布式的集群方案
什么是Redis
Redis是由C语言开发的一款高性能键值对存储的非关系型数据库。Redis支持的数据类型包括但不限于:
- 字符串
- 散列(Hashes)
- 列表(Lists)
- 集合(Sets)
- 有序集合(Sorted Sets)
Redis的发展历程
2008年,意大利初创公司Merzia推出了基于MySQL的实时网站统计系统LLOOGG。然而不久之后,该公司创始人Salvatore Sanfilippo对MySQL的性能表示不满,因此决定专门为LLOOGG定制一款数据库。他在2009年完成了这款数据库的开发工作,这就是Redis。Sanfilippo并未满足于仅在LLOOGG中使用Redis,而是期望更多人能使用它,同年,他将Redis开源发布,并与另一位主要代码贡献者Pieter Noordhuis共同持续改进Redis的开发工作直至今日。
在短时间内,Redis获得了广泛的认可。Hacker News在2012年发布的一项数据库使用调查显示,约有12%的公司在使用Redis。国内外许多知名网站,如新浪微博、街旁网、知乎网、GitHub、Stack Overflow、Flickr等,均是Redis的用户。
自2010年起,VMware公司开始赞助Redis的开发工作。同年3月和5月,Salvatore Sanfilippo和Pieter Noordhuis分别加入VMware,全职从事Redis的开发。
Redis的应用场景
- 缓存(用于数据查询、短连接、新闻内容、商品信息、登录信息等)(最广泛应用场景)
- 分布式锁场景
- 解决分布式集群架构中的Session共享问题
- 聊天室的在线好友列表
- 任务队列(如秒杀、抢购、12306等场景)
- 应用排行榜
- 网站访问统计
- 数据过期处理(支持精确到毫秒级别的过期时间)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战