Redis是Remote Dictionary Server的缩写,可以翻译成远程字典服务。Redis是用C语言编写的开源项目。

Redis 最主要的特点就是高性能,对于简单的键值读取速度可以达到100000次/s,在理想情况下简单的键值写入速度可以达到80000次/s。基于此特性Redis主要用来做缓存系统或者内存数据存储。

Redis支持丰富的数据类型,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)、流(Stream)、位图(Bitmap)、位域(Bitfield)以及地理空间索引(GeoSpatial)等。如此丰富的数据类型可以灵活应用于各种场景,并且取得高效的数据存取和操作效率。

Redis还有许多高级特性:

① 发布/订阅(Pub/Sub):支持发布/订阅模式,允许客户端订阅频道并接收消息,用于实现实时消息推送和广播。

② 事务:支持 MULTI、EXEC、WATCH 和 DISCARD 命令,允许一组命令作为一个事务执行,确保原子性。

③ 持久化、

a) RDB(Redis Database Backup):周期性地将数据库快照保存到磁盘,用于数据恢复。

b) AOF(Append-Only File):记录每个写操作到日志文件,提供更高的数据恢复精度。

c) 混合持久化:结合 RDB 和 AOF 的优点,提供更高效的持久化方案。

④ 集群

a) 主从模式:主节点负责写操作,从节点负责读取操作,实现读写分离和基本的故障恢复。

b) 哨兵模式:用于提供高可用性和自动故障转移,监控主节点和从节点的状态,当主节点故障时自动切换到从节点成为新的主节点。

c) 分片模式:通过数据分片将数据分布在多个节点上,提高性能和可扩展性,每个节点存储一个分区数据,达到支持大规模的数据处理

⑤ Lua 脚本:允许使用 Lua 脚本在 Redis 服务器端执行原子操作,减少了客户端和服务器之间的往返次数。

⑥ 内存管理:支持多种内存管理策略,如 LRU(Least Recently Used) 和 LFU(Least Frequently Used),用于控制内存使用和数据淘汰策略

⑦ 模块支持:允许通过 Redis Modules 扩展 Redis 的功能,引入新的数据类型和命令,满足特定应用需求

这些高级特性可以支持更复杂的业务需求,满足更高的定制化需求。

后面我们将继续从以下5个方面继续学习:

① 安装:包括Windows、Linux以及Docker三种环境详细安装过程。

② 客户端工具:选择一款客户端工具。

③ 基础指令学习:学习一些常用指令。

④ C#/.NET实战:选择一款C#/.NET客户端库进行编码实战。

⑤ C#/.NET封装:对客户端库进行二次封装,方便后期使用。

注:测试方法代码以及示例源码都已经上传至代码库,有兴趣的可以看看。https://gitee.com/hugogoos/Planner

Redis 入门 - 简介的更多相关文章

  1. Redis入门及主从配置

    1.Redis入门简介 Redis是一个开源的使用ANSI C语音编写.支持网络.可基于内存亦可持久化的日志型,Key-Value数据库.支持存储的value类型包括 string(字符串).list ...

  2. Redis入门指南之一(简介)

    1. 简介 Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同的场景下的缓存与存储需求.同时Redis的诸多高级功能使其可以胜任消息队列.任务队列等不同的 ...

  3. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  4. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  5. Mac redis入门

    Mac redis入门 一.Redis简介 Redis是开源的key-value数据库,运行在内存中,但可以把数据持久化存到磁盘.Redis具有极高的性能,也为各种语言提供了丰富的接口,因此有着广泛的 ...

  6. 超强、超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...

  7. 超强、超详细Redis入门教程

    (1)什么是redis? Redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的特点 Redis本质上是一个Key-Value类型的 ...

  8. 超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下   [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使 ...

  9. redis入门笔记

    redis入门笔记 参考redis实战手册 1. Redis在windows下安装 下载地址:https://github.com/MSOpenTech/redis/tags 安装Redis 1.1. ...

  10. Redis入门手册

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...

随机推荐

  1. mac navicat免激活版

    Navicat 12 第一步:终端执行 sudo spctl --master-disable 第二步:下载安装即可使用 https://pan.baidu.com/s/1tHq-wqAIggD0Fo ...

  2. javaweb上传图片存到本地,并存储地址到数据库

    前端使用layui的图片上传,将文件base64编码,然后在后端使用转码类来操作base64编码,并保存图片到本地,继而获取文件地址,将文件地址保存到数据库中 1.使用layui的图片上传 infos ...

  3. 探索Nuxt.js的useFetch:高效数据获取与处理指南

    title: 探索Nuxt.js的useFetch:高效数据获取与处理指南 date: 2024/7/15 updated: 2024/7/15 author: cmdragon excerpt: 摘 ...

  4. TypeScript 学习笔记 — 模板字符串和类型体操(十五)

    目录 基本介绍 字符串类型体操实操环节 1. 字符串首字母大写 CapitalizeString 2. 获取字符串第一个字符 FirstChar 3. 获取字符串最后一个字符 LastChar 4. ...

  5. java小技巧~修改对象的属性名

    今天联调的时候,有个功能是在初始化的时候将图片路径回显到vant组件的上传组件上,但是vant组件需要图片路径名叫url,而后端返给我的路径名叫filePath,而且是双层嵌套.一个个遍历老麻烦了,下 ...

  6. 使用 $fetch 进行 HTTP 请求

    title: 使用 $fetch 进行 HTTP 请求 date: 2024/8/2 updated: 2024/8/2 author: cmdragon excerpt: 摘要:文章介绍了Nuxt3 ...

  7. 【设计模式 Design Pattern】【UML】建模语言

    什么是UML图? UML-Unified Modeling Language 统一建模语言,又称标准建模语言. 是用来对软件密集系统进行可视化建模的一种语言. UML的定义包括UML语义和UML表示法 ...

  8. 【Docker】03 基础操作

    [Docker 本体操作相关] 检查Docker版本: docker -v 检查Docker当前状态: systemctl status docker 停止Docker与开启Docker system ...

  9. NVIDIA公司在实体机器人上的第一步尝试 —— Nova Cater AMR —— 九号机器人与英伟达联合开发的自动驾驶研发平台“Nova Cater AMR(简称:NC)”

    相关: https://www.leiphone.com/category/robot/Hgy9i8azqGncESIB.html Nova Cater AMR是一款仓储运货机器人,可以应用在仓储物流 ...

  10. tensorflow 数据集对象(tf.data)的使用( tf.data.Dataset 、tf.data.TextLineDataset 、 tf.data.TFRecordDataset ) 示例

    tensorflow   使用数据集(tf.data)的方法对数据集进行操纵. 1.    对   数组(内存向量)  进行操纵 : import tensorflow as tf input_dat ...