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.mzph.cn/diannao/11314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下载文件名称乱码或变成了随机码

如图 后端是有正常返回附件名称的,浏览器开发工具中也正常显示了这个数据,但是下载下来的文件名称确实一堆随机码. 其实这个问题的原因是因为跨域 查看console: Refused to get unsafe header "content-disposition" 现象,后端传递到前端的fileName不能被识别,下载…

大模型与AIGC应用相关问题 模型大型

最近经常被问,你看“万亿的模型都出来了,你们训练的千亿模型是不是落伍了?”我想说:“虽然都叫超大模型,但是类型是不一样的,虽说每一类模型训出来都不容易,不过澄清一下概念还是必要的”。 大…

编写Ansible角色实现分布式LNMP安装

前言 本文将介绍如何使用 Ansible 编写角色,在分布式环境下完成 LNMP(Linux、Nginx、MySQL、PHP)的自动化(编译)安装和配置,并验证 PHP 与 MySQL 数据联通性,实现博客和论坛页面的展示。 常规…

Qt---信号和槽

一、信号和槽机制 所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号…

二叉树的四种遍历代码实现

二叉树的遍历大致能分为以下几种 1.前序:根 左 右 2.中序:左 根 右 3.后序:左 右 根 4.层序:从根开始一层一层的向下 如上图访问顺序: 前序:1 2 3 N N N 4 5 N N 6 N N 中序:N 3 N 2 N 1 N 5 N 4 N …

docker-compose安装emqx集群(最新)(host模式)

机器: 10.60.0.20 10.60.0.21 10.60.0.22 一、三台机子都配置域名(/etc/hosts) 10.60.0.20 node1.emqx.io 10.60.0.22 node3.emqx.io 10.60.0.21 node2.emqx.io 二、docker-compose.yml(10.60.0.21) 其他两台机子自…

接搭建仿美团、代付系统源码搭建教程

最近很多粉丝催更、分享一下地球号:xiaobao0214520(WX) 现在大家都很流行搞网恋,我们搭建一个跟美团相似的系统 然后开发一个好友代付,我们在点单的时候转发链接让网恋对象付钱 若只是单点外卖的话,能榨出的油水还是太少。 所以…

Golang — map的使用心得和底层原理

map作为一种基础的数据结构,在算法和项目中有着非常广泛的应用,以下是自己总结的map使用心得、实现原理、扩容机制和增删改查过程。 1.使用心得: 1.1 当map为nil和map为空时,增删改查操作时会出现的不同情况 我们可以发现&#…

【全开源】废品回收微信小程序基于FastAdmin+ThinkPHP+UniApp

介绍 一款基于FastAdminThinkPHPUniApp开发的废品回收系统,适用废品回收站、再生资源回收公司上门回收使用的小程序 功能特性 1、会员注册 支持小程序授权注册和手机号注册 2、回收品类 可设置回收品类,废纸、废金属、废玻璃、旧衣服等 3、今日指导价…

面试高频知识点:Java互联网大厂高频面试题(持续收录)

文章目录 前言一、Java基础题1、Java语言的三大特性2、JDK 和 JRE 有什么区别3、Java基本数据类型及其封装类4、说明一下public static void main(String args[])这段声明里关键字的作用5、java的数据结构有哪些?6、抽象类和接口的区别?7、 与 equals 的区别8、Str…

WordPress插件Show IDs by Echo,后台显示文章、页面、分类、标签、媒体库、评论、用户的ID

WordPress的这款Show IDs by Echo插件,可以让我们设置是增加一列ID还是直接在“编辑 |快速编辑 |查看”操作后面增加ID,而且支持展示以下内容的ID: 文章页面类别标签评论自定义帖子类型自定义分类法用户媒体 Show IDs by Echo插件的安装及启…

企业级OV SSL证书:强化在线信任与安全的权威之选

在数字经济浪潮下,企业网站的安全性直接影响着用户信任度和业务的可持续发展。其中,企业级组织验证(Organization Validation,简称OV)SSL证书作为安全解决方案的重要一环,以其独有的优势,在众多…

网安面经之文件包含漏洞

一、文件包含漏洞 1、文件包含漏洞原理?危害?修复? 原理:开发⼈员⼀般希望代码更灵活,所以将被包含的⽂件设置为变量,⽤来进⾏动态调⽤,但是由于⽂件包含函数加载的参数没有经过过滤或者严格的…

LVDS 源同步接口

传统数据传输通常采用系统同步传输方式,多个器件基于同一时钟源进行系统同步,器件之间的数据传输时序关系以系统时钟为参考,如图1所示。系统同步传输方式使各器件处于同步工作模式,但器件之间传输数据的传输时延难以确定&#xff…

火山引擎VeDI:A/B测试平台指标能力升级,助力企业提升精细化运营效率

在数字化浪潮的推动下,数据分析与精细化运营已成为企业提升竞争力的关键。近日,火山引擎A/B测试DataTester完成了指标能力的全面升级,为企业在流量竞争激烈的市场中提供了更强大、更可信的数据支持。 此次升级亮点在于引入了“按某个属性去重…

局域网内访问vue3项目|Network: use --host to expose

背景 我希望在相同的局域网内,通过手机访问我在Vue 3项目中展示的效果 遇到的问题 使用Vue CLI的–host选项实现局域网内的应用程序测试 当使用Vue CLI在本地提供服务时,通过使用 --host 选项,你可以指定要公开应用程序的主机。默认情况下&a…

[Linux] 入门指令详解

目录 ls指令 pwd指令 whoami指令 cd指令 clear指令 touch指令 mkdir指令 rmdir指令 rm指令 man指令 cp指令 mv指令 cat指令 tac指令 more指令 less指令 head指令 tail指令 拓展:如何读取文件中间某一段内容? date指令 cal指令 fin…

代码随想录阅读笔记-动态规划【爬楼梯】

题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼…

Ubuntu上使用audit2allow解决Android Selinux问题

1.安装工具 sudo apt install policycoreutils 2.运行命令 提前用dmesg或者串口抓取kernel log 遇到错误,提示需要用-p指定policy file,然偶尝试创建一个policy空文件,用-p选项,遇到如下错误 3.规避问题 首先跟进错误log的堆栈…

C++指针和动态内存分配细节,反汇编,面试题05

文章目录 20. 指针 vs 引用21. new vs malloc 20. 指针 vs 引用 指针是实体,占用内存空间,逻辑上独立;引用是别名,与变量共享内存空间,逻辑上不独立。指针定义时可以不初始化;引用定义时必须初始化。指针的…