自学内容网 自学内容网

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),是真正的分布式实现,提供了高可用、读写和 容量的扩展性。


原文地址:https://blog.csdn.net/2202_76092586/article/details/143896732

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!