首页 > 数据库 >Redis的特性

Redis的特性

时间:2024-11-20 16:14:03浏览次数:3  
标签:功能 提供 redis 特性 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),是真正的分布式实现,提供了高可用、读写和 容量的扩展性。

标签:功能,提供,redis,特性,Redis,数据结构,客户端
From: https://blog.csdn.net/2202_76092586/article/details/143896732

相关文章

  • 【Redis集群实战】Redis 以及 Redis Sentinel 的 Docker部署
    Redis基本说明这里我是用的是docker。既然使用docker那么就需要配置两个组件一个Redis一个RedisSentinel我们可以使用docker-compose来启动一组docker安装docker-compose下载docker-compose安装包这里面直接从github下载。并且放在了/usr/local/bin/docker-c......
  • Redis中常见的数据类型及其应用场景Ib
    五种常见数据类型Redis中的数据类型指的是value存储的数据类型,key都是以String类型存储的,value根据场景需要,可以以String、List等类型进行存储。各数据类型介绍:Redis数据类型对应的底层数据结构String类型的应用场景常用命令存放键值:setkeyvalue[EXseconds][PX......
  • Chrome 浏览器 131 版本新特性
    Chrome浏览器131版本新特性一、Chrome浏览器131版本新特性1.在iOS上使用GoogleLens搜索自Chrome126版本以来,用户可以通过GoogleLens搜索屏幕上看到的任何图片或文字。要使用此功能,请访问网站,并点击聚焦时出现在地址栏的GoogleLens搜索按钮,或者点击桌面右......
  • Redis设计与实现第13章 -- 客户端 总结 (属性、标志、创建和关闭)
    Redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户端建立网络连接,每个客户端可以向服务端发送命令请求,而服务端接口并处理客户端发送的命令请求,并向客户端返回命令回复。对于每个与服务器进行连接的客户端,服务器都为这些客户端建立了相应的redis.h/redisClient......
  • RedisTemplate RedisConfig 序列化方式 fastjson2
    SpringDataRedis为我们提供了下面的Serializer:GenericToStringSerializer、Jackson2JsonRedisSerializer、JacksonJsonRedisSerializer、JdkSerializationRedisSerializer、OxmSerializer、StringRedisSerializer。序列化方式对比:JdkSerializationRedisSerializer:使用JDK......
  • oracle dataguard学习和各版本DG新特性介绍
    oracledataguard学习和各版本DG新特性介绍DataGuard概述:OracleDataGuard是Oracle自带的数据同步功能,可以提供Oracle数据库的冗灾、数据保护、故障恢复等,实现数据库快速切换与灾难性恢复。DataGuard数据同步技术有以下优势:1)Oracle数据库自身内置的功能,与每个Oracle新......
  • JDK21新增特性
    顺序集合(SequencedCollections)提供了几个新的接口,用于实现有序的集合。在没有提供有序集合操作之前,我们进行集合的序列操作一般如下FirstelementLastelementListlist.get(0)list.get(list.size()-1)Dequedeque.getFirst()deque.getLast()SortedSet......
  • Redis入门(二)
    Redis字符串(String)Redis的字符串(String)是最基本的数据类型之一,它可以存储任意类型的字符串数据,包括文本和二进制数据。字符串的最大长度为512MB。Redis提供了丰富的命令来操作字符串,包括设置、获取、递增、递减等操作。基本概念键(Key):字符串的主键。值(Value):与键关联的字......
  • 必须了解常用的JDK版本及特性
    在一次面试的时候问到我感兴趣的技术,回答了JAVA,但被问到JDK,除了1.8,就一窍不通,感觉确实应该好好学习一下,至少常见的版本和常见的特性,可以没那么专业,没那么细致,但至少能说个一两句最喜欢的JDK版本我最喜欢JDK17,在这个版本有几点比较常见的特性,Switch语句的增强、字符块的成熟......
  • 安装redis
    前提:已安装docker服务云服务器或本地服务器已开放redis端口拉取镜像#登陆私有库dockerlogin-uadmin-p私有库密码http://8.134.59.62:8083#拉取redis镜像dockerpull8.134.59.62:8083/redis      4. 新建redis挂载目录及配置文件#新建redis数据存......