Redis基础(一)使用场景和Redis特性

一、简述

  1. Redis的前身是一个实现高性能队列功能的数据库。
  2. Redis的底层使用ANSI C编写的数据库。
  • 开源
  • 支持网络
  • 基于内存
  • 可选的持久性
  • 键值对存储

二、Redis特性

2.1 运行速度
  1. 读写性能:10万/次
  • 因数据放在了内存
  • 底层是C编写的梗接近得层
  • 丰富的数据结构,不需要耗费时间去做结构变化而浪费性能
  • 使用单线程架构,防止多进程而产生的竞争问题(mysql是多进程的)。
2.2 支持多种数据类型
  1. 基于key-value键值对的数据结构服务器。支持多种数据结构(而mysql是基于表的)
  • 字符串
  • 列表
  • 集合
  • 有序集合
  • 哈希
2.3 支持多种功能
  1. 键过期功能:实现缓存
  2. 发布订阅功能:实现消息系统
  3. 支持lua脚本
  4. 事务功能:保证了事务特性(ACID)
  5. 流水线功能:客户端可以将一批命令一次性传到Redis服务端,减少了网络的开销和IO次数。
2.4 简单稳定
  1. Redis 3.0 支持集群特性,代码仅5玩行。
  2. Redis服务端处理模型简单
  3. Redis客户端开发简单
  4. Redis自身实现了事务处理的功能(不依赖于系统的类库
  5. 极少因为Redis自身BUG导致Redis宕机
2.5 自持多种客户端
  • Redis提供了简单的TCP通信协议,多种编程语言可以方便地接入。
  • Java
  • PHP
  • Python
  • C
  • C++
  • Nodejs
2.6 持久化

Redis提供了不同级别的持久化方式:

  • RDB持久化能在指定的时间间隔对数据进行快照存储。
  • AOF持久化方式能够记录每次对服务器写的操作并保存到.Redis结尾的文件,当服务器重启时Redis会自动从.Redis结尾的文件文件读取这些操作并使数据库恢复原有的数据。
2.7 高可用和分布式
  • Redis sentinel保证节点的故障发现和故障的自动切换
  • Redis cluster 提供了高可用、读写和容量的扩展性。

MySQL是关系型数据库,是持久化存储的,查询检索的话,会涉及到磁盘IO操作,为了提高性能,可以使用缓存技术,而memcached就是内存数据库,数据存储在内存中(当然也可以进行持久化存储),可以用作缓存数据库。用户首先去memcached查询数据,如果未查询到(即缓存未命中),才去MySQL中查询数据,查询到的数据会更新到缓存数据库中,提供给下次可能进行的查询。提高了数据查询方面的性能。

Redis和memcached都是缓存数据库,可以大大提升高数据量的web访问速度。但是memcached只是提供了简单的数据结构string,而Redis的value可以是string、list、set、hash、sorted set这些,功能更加强大。

web应用中一般采用MySQL+Redis的方式,web应用每次先访问Redis,如果没有找到数据,才去访问MySQL。

Redis是内存数据库,数据保存在内存中,访问速度快。MySQL是关系型数据库,功能强大,存储在磁盘中,数据访问速度慢。像memcached,MongoDB,Redis等,都属于No sql系列。

作者:HelloWorld丶丶
来源:CSDN
原文:https://blog.csdn.net/called>www/article/details/79379134
版权声明:本文为博主原创文章,转载>请附上博文链接!

三、Redis使用场景

  1. 缓存
  • Redis提供了键值过期时间设置
  • 提供了控制最大内存和内存溢出后的淘汰策略。
  1. 排行榜系统
  • 可以实现按照热度排名的排行榜、按照发布时间的排行榜等
  • 基于列表和有序集合这两个数据结构
  1. 计数器应用
  • 可以实现视频网站播放数等数据的实时性和数据叠加
  • Redis可以应对并发量很大的计数
  • Redis天然支持计数功能且性能好
  1. 社交网络
  • 基于丰富的数据结构和大访问量特性来实现赞、粉丝、共同好友这类功能。
  1. 消息队列系统
  • Redis提供了发布订阅和阻塞队列的功能
  1. 不适合大规模数据存储
  • Redis是将数据存储在内存中的,大规模数据存储会导致成本极其高昂
  1. 不适合存储冷数据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值