Redis分布式集群----基础知识(1)

背景

Redis如今已经成为Web开发社区中最火热的内存数据库之一,而它的诞生但现在不过才4年。
点此查看redis中文官方文档

一、什么是redis?

Redis是一个开源的高性能键值key-value对数据库,它通过提供多种键值数据库类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色。
而且redis是一个NOSQL类型数据库,是为了解决高并发、高扩展,大数据存储等一系列的问题而产生的数据库解决方案,是一个非关系型的数据库。但是,它也是不能替代关系型数据库,只能作为特定环境下的扩充。
redis是一个以key-value存储的数据库结构型服务器,它支持的数据结构类型包括:字符串(String)、链表(lists)、哈希表(hash)、集合(set)、有序集合(Zset)等。为了保证读取的效率,redis把数据对象都存储在内存当中,它可以支持周期性的把更新的数据写入磁盘文件中。而且它还提供了交集和并集,以及一些不同方式排序的操作。
ps:从内存中读取的数据的速度快很多!

二、我们为什么要使用redis?

或者说我们使用redis有哪些好处?

  • 速度快:因为数据写在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
  • 支持丰富数据类型:支持string , list , set , sorted set , hash
  • 支持事务:操作都是都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行。
  • 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除。
    redis数据读写速度非常快,因为它把数据都读取到内存当中操作,而且redis是用C语言编写的,是最“接近“”操作系统的语言,所以执行速度相对较快。
  • redis虽然数据的读取都存在内存当中,但是最终它是支持数据持久化到磁盘当中。

三、redisd的优缺点

redis本质上是一个Key-Value类型的内存数据库,很像memached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flash到硬盘上进行保存。
因为是纯内存,redis性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB。
redis的出色之处不仅仅是性能,redis最大的魅力是支持保存多种数据结构,此外单个Value的最大限制是1GB,不像memcached只能保存1MB的数据。同时redis可以持久化其数据
因此redis可以用来实现很多有用的功能。
redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写。

因此redis适合的场景主要局限在较小数据量的高性能和运算上。

四、redis和memcached的区别都有哪些?

  • 存储方式:Memcached把数据全部存于内存之中,断掉之后会挂掉,数据不能超过内存大小。redis有部分存在硬盘上,这样能保证数据的持久性。
  • 数据的支持类型:Memcached对数据类型支持相对简单。redis有复杂的数据类型
  • 使用底层模型不同:他们之间底层实现方式以及客户端之间通信的应用协议不一样。redis直接自己构建VM机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。

ps:在介绍redis时,会有重复的出现,当我们面试时,面对不同的问题,回答的内容是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值