Redis简介
来源:互联网 发布:斧子主机 知乎 编辑:程序博客网 时间:2024/06/08 02:57
Redis简介
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。
Redis能运行在大多数POSIX(Linux,*BSD, OS X 和Solaris等)系统上,官方没有支持Windows的版本。目前最新的版本是2.2.11,这个版本主要是修复了一个2.2.7版本中遍历方式优化带来的一个bug。
和普通的Key-Value结构不同,Redis的Key支持灵活的数据结构,除了strings,还有hashes、lists、 sets 和sorted sets等结构。正是这些灵活的数据结构,丰富了Redis的应用场景,能满足更多业务上的灵活存储需求。
Redis的数据都保存在内存中,而且底层实现上是自己写了epoll event loop部分,而没有采用开源的libevent等通用框架,所以读写效率很高。为了实现数据的持久化,Redis支持定期刷新(可通过配置实现)或写日志的方式来保存数据到磁盘。
1、数据类型
作为Key-value型数据库,Redis也提供了键(Key)和键值(Value)的映射关系。但是,除了常规的数值或字符串,Redis的键值还可以是以下形式之一:
●Lists (列表) ●Sets (集合) ●Sorted sets (有序集合) ●Hashes (哈希表)
键值的数据类型决定了该键值支持的操作。Redis支持诸如列表、集合或有序集合的交集、并集、查集等高级原子操作;同时,如果键值的类型是普通数字,Redis则提供自增等原子操作。
2、持久化
通常,Redis将数据存储于内存中,或被配置为使用虚拟内存。通过两种方式可以实现数据持久化:使用截图的方式,将内存中的数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。
3、主从同步
Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。
4、性能
相比需要依赖磁盘记录每个更新的数据库,基于内存的特性无疑给Redis带来了非常优秀的性能。读写操作之间有显著的性能差异。
5、提供API的语言
●C ●C++ ●C# ●Clojure ●Common Lisp ●Erlang ●Haskell ●Java ●Javascript ●Lua ●Objective-C ●Perl ●PHP
●Python ●Ruby ●Scala ●Go ●Tcl
6、适用场合
毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的冰箱。
redis支持主从的模式。原则:Master会将数据同步到slave,而slave不会将数据同步到master。Slave启动时会连接master来同步数据
- Redis简介
- Redis 简介
- Redis简介
- Redis简介
- redis简介
- redis简介
- redis简介
- Redis简介
- Redis简介
- Redis 简介
- Redis简介
- Redis简介
- redis简介
- Redis简介
- Redis简介
- Redis简介
- redis简介
- Redis 简介
- 创建一个springboot项目
- python suds 出错"No handlers could be found for logger 'suds.client'"
- mysql 5.7主从同步简单配置
- esri geometry-api-java的maven创建
- rem自适应 窗体大小自动 rem设置 改变rem来完成等比例缩放
- Redis简介
- 蓝牙协议栈Bluez的移植
- CentOS设置代理
- 负载均衡百问-还在担心大流量访问吗
- 1001. A+B Format (20)
- iOS 开发小知识点
- textarea标签
- 我的第一个物联网项目:一份企业物联网项目指南
- 最全的Android框架整理,绝对有你想要的