
Redis
文章平均质量分 96
redis原理、使用、实践详解
Lion 莱恩呀
一个热爱分享高性能服务器后台开发知识的博主,目标是通过理论与代码实践的结合,让世界上看似难以掌握的技术变得易于理解与掌握。技能涵盖了多个领域,包括C/C++、Linux、Nginx、MySQL、Redis、fastdfs、kafka、Docker、TCP/IP、协程、DPDK等。
展开
-
Redis持久化机制详解:RDB和AOF对决,哪个更胜一筹?
Redis提供两种主要持久化机制:RDB(Redis DataBase)和AOF(Append Of File)。RDB持久化机制是一种将Redis在内存中的数据保存到磁盘上的方式,保存的数据是某个时间点的快照。在RDB持久化机制中,Redis会周期性地将内存中的数据快照写入磁盘,保存为一个RDB文件。通过快照的方式将数据保存在磁盘上,可以减小数据集的大小,并且在恢复大数据集时速度较快。优点:简单、高效,适合大规模数据的备份和恢复。原创 2024-03-13 09:00:00 · 1602 阅读 · 2 评论 -
Redis容器化秘籍大揭秘!快速将Redis部署到Docker上!
Redis是一种开源的内存数据库,常用于存储和处理大量的数据,具有高性能和低延迟的特点。它可以用作缓存、消息中间件、会话存储等多种用途。Docker是一种开源的容器平台,它允许开发者将应用程序及其所有依赖项、配置和文件打包成一个称为容器的独立单元。容器是一种轻量级的、可移植的运行环境,能够在任何支持Docker的平台上运行,保证了应用程序在不同环境中具有一致的行为。通过将Redis部署为Docker容器,可以将Redis的安装、配置和管理过程简化和标准化。原创 2024-03-10 09:00:00 · 1452 阅读 · 2 评论 -
揭秘Redis相关命令及应用:掌握命令,驾驭内存数据的力量
redis是内存数据库、Key-Value数据库、数据结构数据库。内存数据库是指数据一定在内存当中,不存在磁盘中有数据而内存中没有数据的现象;即数据都在内存当中,不可能出现数据不在内存当中,而磁盘有这个数据。Key-Value数据库是描述redis的操作方式(通过Key操作或查询Value)以及存储方式(Key-Value由散列表组织)。数据结构数据库是指Key-Value中的Value提供了丰富的数据结构(string、list、hash、zset、set等)。原创 2022-10-15 23:32:05 · 903 阅读 · 0 评论 -
Redis的淘汰策略与持久化:数据保障与性能兼顾的独特之道
redis是内存数据库,当数据量足够多时,如果不加以限制,会把当前系统的内存空间耗尽;这就涉及到淘汰策略(过期key、allkeys、禁止)。持久化技术:aof、aof-rewrite、rdb、rdb-aof原创 2022-10-24 13:57:13 · 3846 阅读 · 4 评论 -
Redis原理解密:从存储原理到字典的实现
这篇文章将带您深入了解Redis的神秘面纱。首先,我们将探讨为什么Redis的命令处理是单线程的,并详细介绍了其中的耗时操作。接下来,我们将深入研究Redis的存储结构,揭示数据存储的秘密世界。然后,我们将解析Redis字典的实现方式,从redisDb到hash冲突,了解其内部工作原理。我们还将深入了解字典的扩容和缩容机制,以及渐进式rehash的奇妙过程。此外,我们还将探索Redis的scan命令,它为数据查询提供了新的视野。最后,我们将解析Redis的expire机制,带您进行数据过期的时空之旅。原创 2022-10-21 19:17:53 · 4269 阅读 · 0 评论 -
源码解析:深入了解 Redis 的渐进式 rehash 算法
分析rehash核心函数dictRehash函数,redis中rehash的场景或方式有移动一次和移动一毫秒。缩容检查和执行条件,扩容检查和执行条件。原创 2022-10-20 11:38:22 · 613 阅读 · 0 评论 -
一篇文章教会你:Linux 环境下 Redis 调试环境的搭建
linux和windows搭建redis调试环境。介绍redis调用堆栈。启动调试后,在调用堆栈有redis启动的相关线程。可以看到redis不是单线程的,所说的redis单线程是指命令处理、逻辑处理是单线程。原创 2022-10-19 15:49:48 · 925 阅读 · 0 评论 -
Linux中间件之redis的高可用
一、高可用的概念二、redis 主从复制原理三、redis 哨兵模式四、redis cluster集群五、redis 集群配置原创 2022-10-25 22:56:13 · 6367 阅读 · 5 评论 -
Linux中间件之分析redis的跳表实现
有序数据查询数据的时间复杂度是O(log2n)O(log2n),有序链表查询数据的时间复杂度是O(n)O(n)O(n)。调表是多层级有序链表,可以二分查找数据,它的最底层包含所有的元素。调表的范围查询非常方便,通过O(log2n)O(log2n)的时间复杂度快速找到边界,然后在最底层找到范围内所有元素。调表的增删改查时间复杂度都是O(log2n)O(log2n)。原创 2022-10-21 11:42:55 · 709 阅读 · 0 评论 -
Linux中间件之redis的单线程和IO多线程
redis单线程是指命令处理在一个单线程中。IO多线程只处理IO事件,redis主线程永远用于处理命令。IO多线程源码分析。原创 2022-10-22 17:06:32 · 2327 阅读 · 0 评论 -
Redis事务的灵活应用与异步连接的优化策略
本文将深入探讨Redis事务的灵活应用和与异步连接相结合的优化策略。我们将介绍Redis事务的基本概念和特性,以及如何利用事务实现原子性操作和并发控制。同时,我们将探讨异步连接在Redis事务中的作用,并提供优化策略来提升数据处理的性能。通过本文,读者将了解如何灵活运用Redis事务,结合异步连接技术,实现高效的数据操作和交互。我们还将分享一些实用的优化策略,帮助读者充分利用Redis事务和异步连接,提升系统的可靠性和性能。原创 2022-10-17 12:00:42 · 590 阅读 · 0 评论 -
Linux中间件之redis协议分析
redis事务执行过程中是使用的乐观锁,正常使用会通过lua脚本来执行。redis的事务主要是在并发连接下确保多条指令作为整体一起执行,不被其他干扰事务通常来讲是一系列的数据库操作,这些操作视为一个完整的逻辑处理工作单元,要么都执行,要么都不执行。原创 2022-10-16 22:35:48 · 510 阅读 · 0 评论