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等场景)
  • 应用排行榜
  • 网站访问统计
  • 数据过期处理(支持精确到毫秒级别的过期时间)

原文链接 https://www.hanyuanhun.cn | https://node.hanyuanhun.cn

posted @   汉源魂  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示