Redis-详解(基础)

在这里插入图片描述

文章目录

    • 什么是Redis?
    • 用Redis的特点?
    • 用Redis可以实现哪些功能?
    • Redis的常用数据类型有哪些?
    • Redis的常用框架有哪些?
    • 本篇小结

更多相关内容可查看

什么是Redis?

Redis(Remote DictionaryServer)是一个开源的基于内存的数据存储系统,它既可以作为数据库使用,也可以用作缓存、消息代理和排行榜等用途。Redis以其高性能、支持丰富的数据结构和灵活的应用场景而闻名。

  • 数据库 or 缓存(常用)

用Redis的特点?

  • 基于内存的存储:Redis将数据存储在内存中,因此访问速度非常快。它也支持数据持久化到磁盘,以防止数据丢失。
  • 持久化:Redis支持两种持久化方式,分别是快照(snapshot)和日志(append-only file),可以将内存中的数据持久化到磁盘,以便在重启后恢复数据。
  • 复制和高可用性:Redis支持主从复制(master-slave replication),可以将数据复制到多个节点以提高可用性和容错能力。此外,Redis还支持哨兵(Sentinel)和集群(Cluster)模式,用于实现自动故障转移和高可用性。
  • 事务:Redis支持事务(transaction)操作,可以将多个命令打包成一个原子操作执行,保证了操作的一致性。
  • 发布/订阅:Redis支持发布与订阅(pub/sub)模式,可以用于实现消息队列、实时通信等场景。
  • Lua脚本:Redis支持通过Lua脚本执行自定义命令和操作,可以在服务器端执行复杂的逻辑和计算。

用Redis可以实现哪些功能?

注:包含但不限于以下功能(以下为小编自己实现过的内容)

  • 使用Redis做热点数据缓存/接口数据缓存
  • 使用Redis存储一些业务数据 , 例如 : 验证码 , 用户信息 , 用户行为数据 , 数据计算结果 , 排行榜数据等
  • 根使用Redis实现分布式锁 , 解决并发环境下的资源竞争问题
  • 码表,字典
  • 表数据修改后会进行缓存通知来实现缓存表;
  • 可以将常用的库存信息缓存到Redis中,以减少数据库的访问频率,提高系统的响应速度

Redis的常用数据类型有哪些?

  1. string:最基本的数据类型,二进制安全的字符串,最大512M
  2. list:按照添加顺序保持顺序的字符串列表
  3. set:无序的字符串集合,不存在重复的元素
  4. sorted set:已排序的字符串集合
  5. hash:key-value对的一种集合
  6. bitmap(位图):更细化的一种操作,以bit为单位
  7. hyperlog:基于概率的数据结构
  8. Geo(Geospatial地理空间索引) : 地理位置类型

注:常用的就是string ,list , set , zset 和hash

Redis的常用框架有哪些?

  1. Jedis: Java,它支持连接池、分布式、哈希、列表等 Redis 数据结构的操作。
  2. Lettuce: Java ,Lettuce 支持基于响应式编程模型。
  3. StackExchange.Redis: C# ,提供了异步操作、连接复用、分区等功能
  4. redis-py:redis-py,支持连接池、发布订阅、事务等功能。
  5. ioredis: Node.js,支持异步操作、连接池、管道等特性。
  6. lettuce-core:l Kotlin/Java 客户端库,支持响应式流 API。
  7. Redisson:Java ,提供了分布式、面向对象的 API,封装了分布式锁、分布式集合等功能
  8. Spring Data Redis:Spring Framework 提供的 Redis 抽象框架支持声明式事务、RedisTemplate、注解驱动
  9. Django-Redis:Django 框架的 Redis 客户端库,提供了对 Redis 数据库的简单、高效的操作接口,可用于缓存、会话存储等场景。

注:了解即可,不建议死记硬背

本篇小结

本篇针对不同人群,对Redis有一个基础了解,整体概念即可,后续会详细说明Redis的相关问题
Redis数据持久化策略
Redis数据过期策略
Redis数据淘汰策略
Redis集群方案
Redis主从同步
Redis分片集群如何存储及读取数据
Redis跟Mysql如何保证数据一致性
Redis的缓存穿透、缓存击穿、缓存雪崩及解决方案
Redis分布式锁实现方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1421697.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

vue3.0(八) 监听器(watch),高级监听器(watchEffect)

文章目录 watch1 watch的用法2 watch的高级用法3 watch性能优化 watchEffect1 停止监听2 侦听多个状态3 懒执行 watch和watchEffect的区别watch和computed的区别 watch watch特性进行了一些改变和优化。与computed不同,watch通常用于监听数据的变化,并执…

设计模式-工厂模式设计与详解

一、设计模式介绍 设计模式是我们开发中常常需要面对的核心概念,它们是解决特定问题的模板或者说是经验的总结。这些模式被设计出来是为了让软件设计更加清晰、代码更加可维护且能应对未来的变化。良好的设计模式不仅能解决重复代码的问题,还能使团队中…

object.key()用法

object.key(obj) 一、概念:返回一个由一个给定对象的自身可枚举属性组成的数组。 二、用法: 1、参数为对象:则返回为 对象属性名组成的数组。 let obj {日期:date,姓名:userName,地址:address}console.log(Object.k…

作业帮重启k12,保底年薪150万。。。

作业帮 近期,一位学而思前员工在脉脉上爆料发问: 收到猎头电话,说作业帮重启 K12,K12 主讲无责保底年薪 150W,base 北京。 楼下评论区一位新东方在职员工表示,似乎有这事儿: 而另外一个网友则表…

WordPress/Typecho 站点使用 CloudFlare 后优化加速方法以及注意事项

目前很多 WordPress 站长都盲目的认为使用了 CloudFlare 后,站点速度明显感觉慢了很多,加上一些别有用心的人(有些人就是这么不喜欢 CloudFlare,你品,你细品!) 再制作一个使用 CloudFlare 站点的测速结果截图,让很多 WordPress 新手站长们谈 CloudFlare 色变。其实大家…

Android Studio开发之路(十)app中使用aar以及报错记录

书接上文:Android Studio开发之路(九)创建android library以及生成aar文件 五、app中使用aar文件的方法 先复制一下上面生成的aar文件。然后在你要添加到的app左上角选择“project”模式,然后找到libs文件夹,点击右键…

#初阶模板

目录 1.泛型编程 2.模板 (1)函数模板 (2)举个栗子(模板的使用) 1.模板的声明有两种形式 2.函数模板的原理 (3)模板参数的匹配原则 (4)类模板 类模板…

探索免费静态IP海外的奥秘

在数字化时代,网络资源的获取和利用对于个人和企业都至关重要。其中,独立静态IP地址更是因其稳定性和安全性备受青睐。本文将带您深入了解“免费的独立静态IP海外”的奥秘,探讨其背后的原理、优势、获取途径以及使用场景。 一、独立静态IP的基…

Kubernetes的Pod控制器深度解析

1.1 Pod控制器介绍 在Kubernetes中,Pod是最小的管理单元,用于运行容器。根据Pod的创建方式,可以将其分为两类: 自主式Pod(Stateless Pods):这些Pod是直接由用户或管理员创建的,通常…

GPT搜索鸽了!改升级GPT-4

最近OpenAI太反常,消息一会一变,直让人摸不着头脑。 奥特曼最新宣布:5月13日开发布会,不是GPT-5,也不是盛传的GPT搜索引擎,改成对ChatGP和GPT-4的升级~ 消息一出,大伙儿都蒙了。 之…

STM32_HAL_系统定时器(SysTick)_实现计时

1介绍 系统定时器(SysTick)是ARM Cortex-M处理器系列中的一个特殊定时器,它不属于STM32F1系列微控制器的外设,而是处理器内部的一个组件。SysTick定时器的作用是为操作系统或其他需要精确时钟计数和中断服务的应用提供基础的时间…

【Linux】自动化构建工具make/Makefile和git介绍

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12625432.html 目录 前言 Linux项目自动化构建工具-make/Makefile 举例 .PHONY 常见符号 依赖关系…

05、 java 的三种注释及 javadoc 命令解析文档注释(即:java 特有注释方式)的过程

java的三种注释 1、单行注释:其一、代码展示:其二、特点: 2、多行注释:其一、代码展示:其二、特点: 3、文档注释(java特有):其一、代码展示:其二、注释文档的使用:其三、…

基础ArkTS组件:数据面板组件(图表),日期选择器组件(HarmonyOS学习第三课【3.5】)

tuoz数据面板组件 DataPanel 数据面板组件,用于将多个数据占比情况使用占比图进行展示。 说明 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 接口 DataPanel(options:{values: numbe…

开关电源功率测试方法:输入、输出功率测试步骤

在现代电子设备中,开关电源扮演着至关重要的角色,其效率和稳定性直接影响到整个系统的性能。因此,对开关电源进行功率测试成为了电源管理的重要环节。本文将详细介绍如何使用DC-DC电源模块测试系统对开关电源的输入输出功率进行准确测量&…

如何使用Docker安装并运行Nexus容器结合内网穿透实现远程管理本地仓库

前言 作者简介: 懒大王敲代码,计算机专业应届生 今天给大家聊聊如何使用Docker安装并运行Nexus容器结合内网穿透实现远程管理本地仓库,希望大家能觉得实用! 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!&#x1f496…

2024 银行从业资格证考试备考资料及备考群

2024 银行从业资格证考试备考资料 2024 年 06月1、2日 银行从业资格考试全国统一考试(统考) 有没有小伙伴在准备备考的,不知道大家都准备怎么学习呢,这里我整理了一些免费备考资料,含【三色笔记】,供大家…

Spring解决泛型擦除的思路不错,现在它是我的了。

你好呀,我是浮生。 Spring 的事件监听机制,不知道你有没有用过,实际开发过程中用来进行代码解耦简直不要太爽。 但是我最近碰到了一个涉及到泛型的场景,常规套路下,在这个场景中使用该机制看起来会很傻,但…

CoSeg: Cognitively Inspired Unsupervised Generic Event Segmentation

名词解释 1.特征重建 特征重建是一种机器学习中常用的技术,通常用于自监督学习或无监督学习任务。在特征重建中,模型被要求将输入数据经过编码器(encoder)转换成某种表示,然后再经过解码器(decoder&#x…

中学数学研究杂志中学数学研究杂志社中学数学研究编辑部2024年第4期目录

教学纵横 高中数学选择性必修课程函数主线分析 柳双;吴立宝; 1-4 贯彻新课程理念 促学习能力提升——以“三角函数诱导公式”教学为例 陆雨轩; 4-6《中学数学研究》投稿:cn7kantougao163.com 对高中数学新课标教材新增知识点的价值分析 钱伟风;刘瑞美; …