Redis的特性

Redis的基本特性


1.速度快


(1)redis的所有数据都是存储在内存中的,这是redis速度快的主要原因。

(2)redis使用C语言来实现的,C语言实现的程序和系统更接近,因此速度比较快。

(3)redis使用单线程,预防了使用多线程产生的竞争问题。


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


redis中的键值对的value呢,不仅可以是字符串,而且包含了,许多的数据结构:字符串(String),哈希(hash),列表(list),集合(set),有序集合(ordered set),同时在字符串的基础之上演变出了位图(Bitmaps)和HyperLogLog两种神奇的数据结构。


3.丰富的功能


除了5种数据结构,Redis还提供了许多额外的功能:

• 提供了键过期功能,可以用来实现缓存。

• 提供了发布订阅功能,可以用来实现消息系统。

• 支持Lua脚本功能,可以利用Lua创造出新的Redis命令。

• 提供了简单的事务功能,能在⼀定程度上保证事务特性。

• 提供了流水线(Pipeline)功能,这样客户端能将⼀批命令⼀次性传到Redis,减少了网络的开 销。


4.简单稳定


Redis的简单主要表现在三个方面:

(1)Redis的源码很少,早期版本的代码只有2万行左右, 3.0版本以后由于添加了集群特性,代码增至5万行左右,相对于很多NoSQL数据库来说代码量相对 要少很多,也就意味着普通的开发和运维⼈员完全可以"吃透"它。

(2)Redis使用单线程模型, 这样不仅使得Redis服务端处理模型变得简单,而且也使得客户端开发变得简单。

(3)Redis不需要 依赖于操作系统中的类库(例如Memcache需要依赖libevent这样的系统类库),Redis自己实现了 事件处理的相关功能。


5.客户端语言多


Redis提供了简单的TCP通信协议,很多编程语言可以很方便地接入到Redis,并且由于Redis受 到社区和各⼤公司的广泛认可,所以支持Redis的客户端语言也非常多,几乎涵盖了主流的编程语言,例如C、C++、Java、PHP、Python、NodeJS等,后续我们会对Redis的客户端使用做详细说 明。


6.持久化存储


通常看,将数据放在内存中是不安全的,⼀旦发生断电或者机器故障,重要的数据可能就会丢 失,因此Redis提供了两种持久化方式:RDB和AOF,即可以用两种策略将内存的数据保存到硬盘中。

如图:


7.主从复制


Redis提供了复制功能,实现了多个相同数据的Redis副本。

如图:


8.高可用和分布式


Redis提供了高可用实现的Redis哨兵(Redis Sentinel),能够保证Redis结点的故障发现和故 障自动转移。也提供了Redis集群(Redis Cluster),是真正的分布式实现,提供了高可用、读写和 容量的扩展性。

相关推荐
松涛和鸣13 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa31 分钟前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k1 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦1 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL2 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·2 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德2 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫3 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i3 小时前
完全卸载MariaDB
数据库·mariadb
期待のcode3 小时前
Redis的主从复制与集群
运维·服务器·redis