【第一章 初识Redia】1.1、Redis特性

in with 1 comment

速度快

1. Redis的所有数据都是存放在内存中的
2. Redis是用C语言实现的,一般来说C语言实现的程序“距离”操作系统更近,执行速度相对会更快
3. Redis使用了单线程架构,预防了多线程可能产生的竞争问题
4. Redis是少有的及性能和优雅于一身的开源代码

基于键值对的数据结构服务器

1.Redis全称REmote Dictionaty Server,主要提供5种数据结构:字符串、哈希、列表、集合、有
序集合,同时在字符串的基础上演变出了位图(Bigmaps)和HyperLoglog两种神奇的“数据结构”,并
且随着LBS(Location Based Service,基于位置服务)的不断发展,Redis中加入有关GEO(地理
信息位置)的功能

丰富的功能

1. 提供了键过期功能,可以用来实现缓存
2. 提供了发布订阅功能,可以用来实现消息系统
3. 支持Lua脚本功能,可以利用Lua创造出新的Redis命令
4. 提供了简单的事物功能,能在一定程度上保证事物特性
5. 提供了流水线(Pipeline)功能,这样客户端能建一批命令一次性传到Redis,减少了网络的开销

简单稳定

1. Redis的源码很少,代码在5万行左右,相对于很多的NoSQL数据库来说代码量相对要少很多
2. Redis使用单线程模型,使得Redis服务端处理模型变得简单
3. Redis不需要依赖于操作系统中的类库

客户端语言多

1. Redis提供了简单的TCP通信协议,很多编程语言可以方便接入到Redis

持久化

1. Redis提供了两种持久化方式:RDB和AOF

主从复制

1. Redis提供了复制功能,实现了多个相同数据的Redis副本,复制功能是分布式Redis的基础

高可用和分布式

1. Redis提供了高可用实现Redis Sentinel,它能将保证Redis节点的故障发现和故障自动转移。
Redis从3.0版本正式提供了分布式实现Redis Cluster,他是Redis真正的分布是实现,提供了高可
用、读写和容量的扩展性