Redis学习
文章平均质量分 94
笔记整理
缘友一世
我是缘友一世博主,热爱技术、热衷于分享。我的博客专注于计算机科学和软件开发领域的学习和实践经验。在博客中,你可以找到各种编程语言的深入解析和实用技巧。我致力帮助读者更好地理解和应用技术。同时,我也关注技术行业的发展趋势和前沿研究。感谢您的关注和支持!部分文章内容辅助使用gpt等人工智能编辑,如果出现错误之处,请指正
展开
-
Redis重返舞台:Spring Boot容器错误解决的专业魔法之旅!
在编写 Docker Compose 文件时使用的是 UNIX 编码,而项目开发使用的是 UTF-8 编码,并且 Redis 连接密码包含特殊字符(如。为了避免这种情况,建议在编写 Docker Compose 文件时使用与项目开发一致的编码方式(如 UTF-8),以确保密码能够正确解析和匹配。使用统一的编码格式:为了降低混淆和错误的风险,建议在整个团队或项目中都采用统一的编码格式,通常推荐使用。文件中,尽量避免使用特殊字符,因为不同编码格式对特殊字符的处理可能不同,导致解析错误。文件编码保持一致:确保。原创 2023-07-01 10:01:27 · 437 阅读 · 0 评论 -
Redis学习【1】之Nosql概述
关于Redis学习预备知识原创 2023-01-22 18:00:31 · 1415 阅读 · 0 评论 -
拓展:阿里巴巴中文站架构演进分析【部分】
由学习整理而来,并非有意抄袭。如果有冒犯行为,请及时联系作者进行处理!原创 2023-01-22 15:04:48 · 636 阅读 · 0 评论 -
Redis学习【2】之入门
学习的环境为Linux环境下的Redis远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。由意大利人 Salvatore Sanfilippo(又名 Antirez)开发redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 之所以称之为字典服务,是因为 Redis 是一个 key-value 存储系统。原创 2023-02-03 22:33:17 · 185 阅读 · 0 评论 -
Redis 配置文件常用配置探究
本文主要记录常用的部分内容,由于是学习笔记系列,所以可能并不能完全贴近实际生产环境。原创 2023-02-04 14:50:10 · 972 阅读 · 0 评论 -
Redis命令学习【1】之基础性操作命令
命令解释ping检查客户端与Redis的链接是否正常set & get读写键值select切换数据库dbsize查看当前数据库的key数量flushdb删除当前数据库的数据exit 或quit推出客户端命令解释keys查找所有符合给定模式pattern的 keyexists检查给定key是否存在。若key存在,返回1,否则返回0del删除给定的一个或多个key,不存在的key 会被忽略。返回被删除key的数量。rename将key改名为newkeymove将当前数据库的key移动到给定的数据库db。原创 2023-02-06 16:05:20 · 414 阅读 · 0 评论 -
Redis命令学习【2】之Hash&List 型 Value 操作命令
Redis存储数据的 Value 可以是一个 Hash 类型【Hash 表、字典等】。Hash 表就是一个映射表 Map,也是由键-值对构成,为了与整体的 key 进行区分,这里的键称为 field,值称为 value。注意,Redis 的 Hash 表中的 field-value 对均为 String 类型。命令解释hset将哈希表 key 中的域field的值设为valuehget返回哈希表 key 中给定域 field 的值hmset同时将多个(域-值)对设置到哈希表key中。原创 2023-02-07 11:30:45 · 831 阅读 · 0 评论 -
Redis命令学习【3】之Set 型 Value 操作命令
Redis 存储数据的 Value 可以是一个 Set 集合,且集合中的每一个元素均 String 类型。Set与 List 非常相似,但不同之处是Set 中的元素具有无序性与不可重复性,而List 则具有有序性与可重复性。Redis 中的 Set 集合与 Java 中的 Set 集合的实现相似,其底层都是 value 为 null 的 hash表。因此,才会拥有无序性与不可重复性。命令解释sadd将一个或多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略。原创 2023-02-07 16:26:52 · 1434 阅读 · 0 评论 -
Redis学习【4】之简单动态字符串
无论是 Redis 的 Key 还是 Value,其基础数据类型都是字符串。例如,Hash 型 Value 的field 与 value 的类型、List 型、Set 型、ZSet 型 Value 的元素的类型等都是字符串。虽然Redis是使用标准 C 语言开发的,但并没有直接使用 C 语言中传统的字符串表示,而是**自定义了一种字符串。**这种字符串本身的结构比较简单,但功能却非常强大,称为简单动态字符串Simple Dynamic String 。原创 2023-02-14 10:27:38 · 243 阅读 · 0 评论 -
Redis学习【5】之集合的底层实现原理
其将 linkedList 按段切分,每一段使用 zipList 来紧凑存储若干真正的数据元素,多个 zipList 之间使用双向指针串接起来。原创 2023-02-14 12:26:20 · 344 阅读 · 0 评论 -
Redis学习【6】之BitMap、HyperLogLog、Geospatial操作命令 (1)
学习的内容来源于网络,仅有用于学习和复习,希望可以跟大家共同一起开发BitMap 是Redis 2.2.0 版本中引入的一种新的数据类型。BitMap本质上就是一个仅包含 0 和 1 的二进制字符串。而其所有相关命令都是对这个字符串二进制位的操作。用于描述该字符串的属性有三个:key、offset、bitValue。属性说明keyBitMap 是 Redis 的 key-value 中的一种 Value 的数据类型,所以该 Value 一定有其对应的 key。offset。原创 2023-02-15 23:58:10 · 269 阅读 · 0 评论 -
Redis学习【7】之发布_订阅命令和事务
【代码】Redis学习【7】之发布_订阅命令和事务。原创 2023-02-17 17:06:01 · 795 阅读 · 0 评论 -
Redis学习【8】之Redis RDB持久化
用于标识 RDB文件的开始,以便在加载 RDB 文件时可以迅速判断出文件是否是 RDB 文件。check_sum:校验和 check_sum 用于判断 RDB 文件中的内容是否出现数据异常。rdb_version:整数,长度为 4 字节,表示 RDB 文件的版本号。EOF:常量,占 1 个字节,用于标识 RDB 数据的结束,校验和的开始。SODB:是一个常量,占 1 个字节,用于标识一个数据库的开始。key_value_pairs:当前数据库中的键值对数据。db_number:数据库编号。原创 2023-02-17 23:56:01 · 651 阅读 · 0 评论 -
Redis学习【9】之Redis RDB持久化
Rewrite 就是对 AOF 文件进行重写整理。当 Rewrite 开启后,主进程创建出一个子进程,由该子进程完成rewrite过程。其首先对现有 aof 文件进行rewrite计算,将计算结果写入到一个临时文件,写入完毕后,再rename该临时文件为原aof文件名,覆盖原有文件。持久化技术优势不足RDBRDB 文件较小数据恢复较快数据安全性较差写时复制会降低性能RDB 文件可读性较差AOF数据安全性高AOF 文件可读性强AOF 文件较大写操作会影响性能数据恢复较慢。原创 2023-02-18 19:40:02 · 628 阅读 · 0 评论 -
Redis学习【10】之Redis主从集群(1)
对于 Master 宕机后的冷处理方式是无法实现高可用的。Redis 从 2.6 版本开始提供了高可用的解决方案—— Sentinel 哨兵机制。在集群中再引入一个节点,该节点充当 Sentinel 哨兵,用于监视 Master 的运行状态,并在 Master 宕机后自动指定一个 Slave 作为新的 Master。整个过程无需人工参与,完全由哨兵自动完成。Sentinel 哨兵又成为了一个单点故障点:若哨兵发生宕机,整个集群将瘫痪。原创 2023-02-22 09:18:30 · 274 阅读 · 0 评论 -
Redis学习(10)之Redis主从集群(2)
Raft 算法是一种通过对日志复制管理来达到集群节点一致性的算法。日志复制管理发生在集群节点中的 Leader 与 Followers 之间,Raft 通过选举出的 Leader 节点负责管理日志复制过程,以实现各个节点间数据的一致性。情形影响请求到达前 Leader 挂掉请求未被接收到,重新提交请求未开始同步数据前 Leader 挂掉请求被丢弃,重新提交请求同步完部分后 Leader 挂掉两种结果:一种写操作成功,一切正常运行。另一种写操作失败,重新提交请求。原创 2023-02-23 11:03:28 · 354 阅读 · 0 评论 -
Redis学习【11】之分布式系统
现在要为数据分配其要存储的节点。该数据对象的 hash(o) 按照逆/顺时针方向距离哪个节点的 hash(m)最近,就将该数据存储在哪个节点。这样就会形成上图所示的分配结果。,并且起点与终点重合。环中间的整数按逆/顺时针分布,故这个环的整数分布范围是。,分别代表四个待分配的数据,红色方块是这四个数据的。在 Hash 环中的落点。同时,图上还存在三个节点。的主机结点,绿色圆圈是这三节点的。在 Hash 环中的落点。算法通过一个叫作一致性。原创 2023-03-04 21:39:57 · 747 阅读 · 0 评论 -
Redis学习【12】之Redis 缓存
本文是作者在学习redis的笔记,学习动力节点的redis课程仅供学习交流,不得用于商业用途Jedis 是一个基于 java 的 Redis 客户端连接工具,旨在提升性能与易用性。github 上的官网地址在 pom 文件中需要导入 MySQL 驱动、Druid 等大量依赖。原创 2023-03-10 22:22:52 · 367 阅读 · 2 评论 -
Redis学习(13)之Lua脚本【环境准备】
Lua 是一个由标准 C 语言开发的、开源的、可扩展的、轻量级的、弱类型的、解释型脚本语言,是于 1993 年由巴西里约热内卢天主教大学的三人研究小组使用标准 C 语言开发。Lua 的官网。原创 2023-03-11 10:24:58 · 715 阅读 · 0 评论 -
Redis学习(14)之Lua语法学习
文章目录前言一 Lua基础语法1.1 注释1.2 数据类型1.3 标识符1.3.1 保留字1.3.2 变量1.3.3 动态类型1.3.3 运算符1.3.4 算术运算符1.3.5 关系运算符1.3.6 逻辑运算符1.3.7 其他运算符1.4 函数1.4.1 固定参函数1.4.2 可变参函数1.4.3 返回多个值1.4.4 函数作为参数1.5 流程控制语句1.5.1 if语句&if 嵌套语句1.6 循环控制语句二 Lua 语法进阶2.1 table2.2 table 操作函数2.3 迭代器2.4 模块2原创 2023-03-15 13:25:18 · 1570 阅读 · 0 评论 -
Redis学习(15)之分布式锁
Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的 Java 常用对象,还提供了许多分布式服务。Redisson 提供了使用 Redis 的最简单和最便捷的方法。Redisson 的宗旨是促进使用者对 Redis 的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。Redisson 底层采用的是 Netty 框架。原创 2023-03-16 16:46:23 · 351 阅读 · 0 评论 -
微服务学习之面试知识相关总结(Redis)
本文学习自黑马程序员,希望能给需要的朋友提供帮助!原创 2023-04-23 14:11:58 · 418 阅读 · 0 评论