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. 建立Model

    直接使用Sequelize虽然可以,但是存在一些问题. 团队开发时,有人喜欢自己加timestamp: var Pet = sequelize.define('pet', { id: { type: ...

  2. mac navicat免激活版

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

  3. 循环冗余检验CRC

    先约定一个除数,除数根据生成多项式来决定,余数的位数就是除数位数减一,在被除数后面添加余数个0,然后进行运算. 注意虽然叫做除数被除数,但是是按位进行异或操作,相同为1,不同为0,最后的余数就叫帧检验 ...

  4. lambda表达式用法

    (参数列表)->{代码块}; (int a,int b)->{return a+b;}; 本质为匿名函数 参数的类型可以省略: (a,b)->{return a+b;} 当参数只有一 ...

  5. 【MySQL】 线上补数据SQL

    昨天一下午就为了补业务数据,写SQL快崩溃了得... 直接贴不解释了 -- 先拿到[销售变更id]拿到[变更信息] -- 通过[变更信息]的主表id拿到[主表信息] -- 条件可以是 MAX(cc.i ...

  6. 【Java】Springboot + Redis +(AOP & 响应外切)切面实现字典翻译

    使用案例演示: 先开发了一个简单的Demo: 普通DTO类注解翻译的字段和翻译来源 在需要翻译的方法上注解@Translate 接口返回结果: 框架思路: 1.标记的注解需要通过AOP切面在调用的时候 ...

  7. 【节选 转载】人形机器人Optimus擎天柱技术解析

    参考原文: https://www.sohu.com/a/589454391_383324?scm=9010.8000.0.0.1265 可以利用动作捕捉"学习"人类动作,依靠视觉 ...

  8. ( Ubuntu环境 ) Vim下一键运行python代码

    使用一个统一的顺手的编辑&编译环境对于写代码是一件事半功倍的事情, 说白了就是有个顺手的写代码的工具很重要,这里要说的工具就是Vim. 假设   Ubuntu 系统中已经安装   Vim  : ...

  9. 深度学习中使用TensorFlow或Pytorch框架时到底是应该使用CPU还是GPU来进行运算???

    本文实验环境为Python3.7, TensorFlow-gpu=1.14, CPU为i7-9700k,锁频4.9Ghz, GPU为2060super显卡 ====================== ...

  10. Linux环境下配置vscode的C/C++ 的make编译环境(编写makefile方式)代码Demo版

    以前写过同样话题下的图文版的,这里给出一个代码Demo版本,上一个图文版本参见: Linux环境下配置vscode的C/C++ 的make编译环境(编写makefile方式) ============ ...