Redis7学习笔记01

这篇具有很好参考价值的文章主要介绍了Redis7学习笔记01。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、redis7实战教程简洁

1、大纲:

①、适合对象,从小白到熟手,一套全包圆

②、Redis专题-大厂面试题,含100道+

③、Redis专题-真实需求生产真实案例

④、Redis7新特性

2、小白篇+高阶篇:

Redis7学习笔记01,学习,笔记

 3、大厂面试题:

①、面试题

Redis7学习笔记01,学习,笔记

②、专题

Redis7学习笔记01,学习,笔记

4、随堂案例

Redis7学习笔记01,学习,笔记

二、redis是什么

1、官网解释:

Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案

三、redis能干啥-上集

1、分布式缓存,挡在mysql数据库之前的带刀护卫

2、基于内存的KV键值对内存数据库

Redis7学习笔记01,学习,笔记

四、redis能干嘛-中集

1、分布式缓存,挡在mysql数据库之前的带刀护卫

与传统数据库关系(mysql)

Redis是key-value数据库(NoSQL一种),mysql是关系数据库

Redis数据操作主要在内存,而mysql主要存储在磁盘

Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面

Redis通常用于一些特定场景,需要与Mysql一起配合使用

两者并不是相互替换和竞争关系,而是共同和配合使用

2、内存存储和持久化(RDB+AOF)

redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务

3、高可用架构搭配(单机、主从、哨兵、集群)

4、缓存穿透、击穿、雪崩

5、分布式锁

6、队列

Reids提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。
我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,
对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次。也比较适合适用。

7、排行版+点赞

在互联网应用中,有各种各样的排行榜,如电商网站的月度销量排行榜、社交APP的礼物排行榜、小程序的投票排行榜等等。Redis提供的zset数据类型能够快速实现这些复杂的排行榜。
 
比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户

五、redis能干嘛-下集

1、优势

①、性能极高 – Redis能读的速度是110000次/秒,写的速度是81000次/秒

②、Redis数据类型丰富,不仅仅支持简单的key-value类型的数据,
同时还提供list,set,zset,hash等数据结构的存储

③、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,
重启的时候可以再次加载进行使用

④、Redis支持数据的备份,即master-slave模式的数据备份

2、小总结

Redis7学习笔记01,学习,笔记

六、redis去哪下

英文官网网址:Redis

七、redis怎么玩

0、官网

1、多种数据类型基本操作和配置

2、持久化和复制,RDB/AOF

3、事务的控制

4、复制,集群等

八、redis7新特性浅谈

总体概述:
大体和之前的redis版本保持一致和稳定,主要是自身底层性能和资源利用率上的优化和提高,如果你生产上系统稳定,不用着急升级到最新的redis7版本,当然,O(∩_∩)O哈哈~,如果你是从零开始的新系统,直接上Redis7.0-GA版。^_^
【多AOF文件支持】   

7.0 版本中一个比较大的变化就是 aof 文件由一个变成了多个,主要分为两种类型:基本文件(base files)、增量文件(incr files),请注意这些文件名称是复数形式说明每一类文件不仅仅只有一个。在此之外还引入了一个清单文件(manifest) 用于跟踪文件以及文件的创建和应用顺序(恢复)
【config命令增强】  

对于Config Set 和Get命令,支持在一次调用过程中传递多个配置参数。例如,现在我们可以在执行一次Config Set命令中更改多个参数: config set maxmemory 10000001 maxmemory-clients 50% port 6399
【限制客户端内存使用Client-eviction】

 一旦 Redis 连接较多,再加上每个连接的内存占用都比较大的时候, Redis总连接内存占用可能会达到maxmemory的上限,可以增加允许限制所有客户端的总内存使用量配置项,redis.config 中对应的配置项
// 两种配置形式:指定内存大小、基于 maxmemory 的百分比。
maxmemory-clients 1g
maxmemory-clients 10%
【listpack紧凑列表调整】

listpack 是用来替代 ziplist 的新数据结构,在 7.0 版本已经没有 ziplist 的配置了(6.0版本仅部分数据类型作为过渡阶段在使用)listpack 已经替换了 ziplist 类似 hash-max-ziplist-entries 的配置
【访问安全性增强ACLV2】

在redis.conf配置文件中,protected-mode默认为yes,只有当你希望你的客户端在没有授权的情况下可以连接到Redis server的时候可以将protected-mode设置为no
【Redis Functions】

Redis函数,一种新的通过服务端脚本扩展Redis的方式,函数与数据本身一起存储。
简言之,redis自己要去抢夺Lua脚本的饭碗
【RDB保存时间调整】    

将持久化文件RDB的保存规则发生了改变,尤其是时间记录频度变化
【命令新增和变动】  

Zset (有序集合)增加 ZMPOP、BZMPOP、ZINTERCARD 等命令
Set (集合)增加 SINTERCARD 命令
LIST (列表)增加 LMPOP、BLMPOP ,从提供的键名列表中的第一个非空列表键中弹出一个或多个元素。
【性能资源利用率、安全、等改进】    

自身底层部分优化改动,Redis核心在许多方面进行了重构和改进
主动碎片整理V2:增强版主动碎片整理,配合Jemalloc版本更新,更快更智能,延时更低
HyperLogLog改进:在Redis5.0中,HyperLogLog算法得到改进,优化了计数统计时的内存使用效率,7更加优秀
更好的内存统计报告
如果不为了API向后兼容,我们将不再使用slave一词......(政治正确)

九、redis安装环境要求和准备

Linux冠军安装Redis必须先具备gcc编译环境

查看:gcc -v
本次我们用 Redis-7.0.12

十、redis安装和坑排除

mkdir /myredis

cp redis.conf /myredis/redis7.conf

vim redis7.conf #修改配置文件相关配置

redis-server /myredis/redis7.conf #启动redis服务

ps -ef|grep redis|grep -v grep  #查看redis的进程

redis-cli -a 111111 -p 6379 #连接redis服务

使用ping测试redis是否安装成功,返回PONG

lsof -i:6379 #查看端口号是否被占用

十一、redis10大类型之总体概括

0、一图

Redis7学习笔记01,学习,笔记

1、提前声明

这里说的数据类型是value的数据类型,key的类型都是字符串 

2、Redis10大数据类型

Redis7学习笔记01,学习,笔记

①、redis字符串(String)

String(字符串)
 
string是redis最基本的类型,一个key对应一个value。
 
string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象 。
 
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M

②、redis列表(List)

List(列表)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
它的底层实际是个双端链表,最多可以包含 2^32 - 1 个元素 (4294967295, 每个列表超过40亿个元素)

③、redis哈希表(Hash)


Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
 
Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)

④、redis集合(Set)

Set(集合)
 
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,集合对象的编码可以是 intset 或者 hashtable。
 
Redis 中Set集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
 
集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)


⑤、redis有序集合(ZSet)

zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。
 
zset的成员是唯一的,但分数(score)却可以重复。
 
zset集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 2^32 - 1

⑥、redis地理空间(GEO)

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,包括
 
添加地理位置的坐标。
获取地理位置的坐标。
计算两个位置之间的距离。
根据用户给定的经纬度坐标来获取指定范围内的地理位置集合
 

⑦、redis基数统计(HyperLogLog)

HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定且是很小的。
 
在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
 
但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
 

⑧、redis位图(bitmap)

Redis7学习笔记01,学习,笔记 由0和1状态表现的二进制位的bit数组
 
 

⑨、redis位域(bitfield)

通过bitfield命令可以一次性操作多个比特位域(指的是连续的多个比特位),它会执行一系列操作并返回一个响应数组,这个数组中的元素对应参数列表中的相应操作的执行结果。
 
说白了就是通过bitfield命令我们可以一次性对多个比特位域进行操作。

⑩、redis流(Stream)

Redis Stream 是 Redis 5.0 版本新增加的数据结构。
 
Redis Stream 主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃。
 
简单来说发布订阅 (pub/sub) 可以分发消息,但无法记录历史消息。
 
而 Redis Stream 提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失

十二、redis10大类型之命令查阅


 文章来源地址https://www.toymoban.com/news/detail-613269.html


 


 
 
 


 

到了这里,关于Redis7学习笔记01的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Redis7学习日记】—— Redis持久化

    Redis 的持久化是它的一大特性,可以将内存中的数据写入到硬盘中 主要分为 RDB 和 AOF 两种,接下来我们将展开叙述 RDB持久化方式能够在指定的时间间隔能对你的数据进行 快照 存储 AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始

    2023年04月09日
    浏览(33)
  • 【Redis7学习日记】——复制、哨兵、集群

    设置多个 Redis 数据库, master 以写为主, slave 以读为主 当 master 数据库发生变化时,自动将新数据以异步的方式同步到与它关联的 slave 数据库中 功能概述: 实现了读写分离、容灾恢复、数据备份,以及通过水平扩容来支持高并发 那我们如何来使用呢? 通过配置 slave 从库来

    2023年04月08日
    浏览(34)
  • 【Redis学习笔记01】快速入门(含安装教程)

    先来看门见山的给出 Redis 的概念: Redis:是一种基于内存的高性能K-V键值型NoSQL数据库 Redis官网:https://redis.io/ 1.1 初识NoSQL 想必大家都对关系型数据库更为熟悉!如MySQL、Oracle、SQL Server都是比较常见的关系型数据库,所谓关系型数据库主要以二维表作为数据结构进行存储,但

    2024年01月22日
    浏览(37)
  • 【Redis7】 Redis7 哨兵(重点:哨兵运行流程和选举原理)

     【大家好,我是爱干饭的猿,本文重点介绍Redis7 哨兵,重点:哨兵运行流程和选举原理。 后续会继续分享Redis7和其他重要知识点总结,如果喜欢这篇文章,点个赞👍,关注一下吧】 上一篇文章:《【Redis7】Redis7 主从复制(重点:主从复制原理)》 目录 🥞1. 哨兵 1.1 概述

    2024年02月01日
    浏览(28)
  • 【Redis7】Redis7 持久化(重点:RDB与AOF重写机制)

     【大家好,我是爱干饭的猿,本文重点介绍Redis7 持久化(重点:RDB与AOF重写机制)。 后续会继续分享Redis7和其他重要知识点总结,如果喜欢这篇文章,点个赞👍,关注一下吧】 上一篇文章:《【Redis7】Redis7 十大数据类型》 目录 🥐1. RDB(Redis Data Base) 1.1 什么是RDB 1.2 R

    2023年04月14日
    浏览(59)
  • Redis7

    Redis之父安特雷兹 Redis:Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存

    2023年04月22日
    浏览(27)
  • Redis7入门概述

    ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏: Redis7从实战到高级 🥭本文内容:Redis7入门概述 🖥️个人小站 :个人博客,欢迎大家访问 📚个人知识库:Leo知

    2024年02月09日
    浏览(33)
  • Redis7安装

    由于企业里面做Redis开发,99%都是Linux版的运用和安装,几乎不会涉及到Windows版,上一步的讲解只是为了知识的完整性,Windows版不作为重点,同学可以下去自己玩,企业实战就认一个版: Linux 2.1 什么是gcc gcc是linux下的一个编译程序,是C程序的编译工具。 GCC(GNU Compiler Collecti

    2024年02月11日
    浏览(39)
  • Redis7之介绍(一)

    Redis:REmote Dictionary Server(远程字典服务器) Remote Dictionary Server( 远程字典服务 )是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚

    2024年02月11日
    浏览(23)
  • 在Linux上安装redis7

    1.1 bit检测命令: getconf LONG_BIT (建议使用64bit做开发) 1.2 gcc环境检测: gcc -v 如果不具备gcc环境,则使用 yum -y install gcc- c++ 命令进行c++环境的安装 2.1 下载redis: 进入官网找到下载地址 https://redis.io/download 我下载的是7.0.11版本,属于稳定版本 2.2 然后解压到当前目录: 解压成

    2023年04月25日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包