博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis认识
阅读量:6245 次
发布时间:2019-06-22

本文共 1253 字,大约阅读时间需要 4 分钟。

hot3.png

一、简介

Redis是一个开源的使用C语言编写、开源、支持网络、可基于内存亦可持久化的日志型、高性能的Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String)、哈希(Map)、 列表(list)、集合(sets) 和 有序集合(sorted sets)等类型。

redis在整个运行过程中,数据统统都是存储在内存中的,因此,性能是相当高的,由于此特性,redis对于内存的要求比较高,它会周期性的将内存中的数据写入在磁盘中,从而实现数据持久化的访问能力,但是这种存储只是保证redis在下次启动还有数据可以读取,而不是提供访问。

redis是单线程服务的,只有一个线程 备注:redis是单线程,但是这并不意味着会成为运行时的瓶颈,每秒能够支撑50W的并发。

redis还支持主从模式以及支持通过lua脚本去编写扩展,并且支持高可用和分布式集群解决方案。

数据库存储系统分类

常见的数据库系统有以下几类:

RDBMS:Oracle、DB2、Mysql NoSQL:MongoDB、Redis、HBase、Memcached NewSQL:Aerospike、FounddtionDB、RethinkDB

而NoSQL又分为以下几类:

Key-Value NoSql:Memcached、Redis Column family NoSQL:Cassandra、HBase Documentation NoSQL:MongoDB Graph NoSQL:Neo4j

二、为什么使用redis

1.性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

2.丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

3.原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

4.丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他key-value存储有什么不同?

1.Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

2.Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

三、使用场景

转载于:https://my.oschina.net/u/1985317/blog/915464

你可能感兴趣的文章
最酷的深度学习聊天机器人资源集合
查看>>
SVG 在 image 标签中的动态修改技巧
查看>>
js的三种编码解码方法
查看>>
7月31日云创大会游戏论坛门票0元抢!
查看>>
a标签href不跳转 How?
查看>>
WebP进阶篇--Gif2WebP
查看>>
Java基础-- ==号与equals()方法的区别
查看>>
VARCHART XGantt实践:兼顾清晰和细节的排列优化
查看>>
小程序实现人脸识别功能
查看>>
Flora图像风格迁移App
查看>>
常用数组方法梳理
查看>>
JavaScript(4)之——前端模块化
查看>>
数字图像处理----图像旋转
查看>>
iOS 报错 Library not found lPods AFNetworking
查看>>
Spark性能优化:数据本地化优化
查看>>
Java中几个常用类介绍
查看>>
程序员为什么要高薪?看完让你勇于为自己开价
查看>>
(八)spring cloud微服务分布式云架构- Spring Cloud 组件和概念介绍
查看>>
由 Tagged Pointer 联想到的一个问题
查看>>
Python代理IP爬虫的简单使用
查看>>