redis
文章平均质量分 74
Andrew_37
对自己学过的知识,进行整理总结。
展开
-
sentinel哨兵集群与redis集群
哨兵主要任务 Redis 哨兵机制是实现 Redis 不间断服务的高可用手段之一。主从架构集群的数据同步,是数据可靠的基础保障;主库宕机,自动执行主从切换是服务不间断的关键支撑。 Redis 哨兵机制实现了主从库的自动切换: 1) 监控 master 与 slave 运行状态,判断是否客观下线; 2) master 客观下线后,选择一个 slave 切换成 master; 3) 通知 slave 和客户端新 master 信息。 哨兵集群原理 为了避免单个哨兵故障后无法进行主从切换,以及为了减少误判率,又引原创 2021-07-04 15:48:08 · 109 阅读 · 0 评论 -
redis持久化
思维导图 内存快照 在redis执行 “写指令”过程中,内存数据会一直变化。所谓的内存快照, 指的是 Redis内存中的数据在某一刻的状态。 像拍照一样,通过照片就能把某一刻的瞬间画面完全记录下来。redis与之类似,把某一时刻的数据以文件的形式拍下来,写到磁盘上。这个快照文件就叫RDB文件。 (redis DataBase) redis通过定时执行RDB内存快照,这样就不必每次执行「写」指令都写磁盘,只需要在执行内存快照的时候写磁盘。既保证了唯快不破,还实现了持久化,宕机快速恢复。 生成RDB策略 Re原创 2021-07-04 14:19:19 · 77 阅读 · 0 评论 -
redis常用的操作
基本数据结构 string字符串 1) 字符串的值既可以存储文字数据,又可以存储二进制数据 2)MSET\MGET 命令可以有效地减少程序的网络通信次数,从而提高程序的执行效率 3)redis用户可以定制命名格式来提升redis数据的可读性并避免冲突。 应用举例: 缓存热门图片: set redis-log.jpg redis-log-data 存储文章 文章长度计数功能、文章摘要、文章计数 文章长度:strlen article:10086:content 文章摘要: getrange article:原创 2021-07-04 12:00:17 · 70 阅读 · 0 评论 -
高性能的redis
完全基于内存实现 Redis是基于内存的数据库,跟磁盘数据库相比,完全吊打磁盘的速度。 对比一下,内存操作和磁盘操作的差异 内存操作 是由CPU控制的,也就是CPU内部集成的内存控制器,所以说内存是直接与CPU对接,享受最优的带宽。 redis 将数据存储在内存中,读写操作不会因为磁盘的IO速度限制,所以速度飞一般的感觉。 高效的数据结构 Redis常用的五种数据类型和应用场景 string 缓存、限制器 list 链表、队列,朋友圈 hash 用户信息、hash set 去重、投票、共同好友 zse.原创 2021-07-04 10:15:46 · 116 阅读 · 0 评论 -
redis底层数据结构
调试redis的命令 cd redis-6.0.0 – 进入redis目录 redis服务器端 启动gdb、redis 1、gdb --args ./src/redis-server redis.conf 2、设置断点 b 文件名:函数名 3、输入 c 等待客户端触发断点 redis的结构 Redis 整体就是 哈希表来保存所有的键值对,无论数据类型是 5 种的任意一种。哈希表,本质就是一个数组,每个元素被叫做哈希桶,不管什么数据类型,每个桶里面的 entry 保存着实际具体值的指针。原创 2021-07-03 22:46:04 · 84 阅读 · 0 评论 -
redis源码分析 -- scan分步遍历
字典中的hash表遍历的方式有以下几种:keys、hkeys、scan、hscan、zscan。 全遍历: keys和hkeys返回的是hash表中的所有的key,如果当前的hash表很大的话,会比较耗时,这样的话就会阻塞其他操作,因此运行环境中返回keys和hkeys这两种方式是不推荐的。 分步遍历 使用scan是分步遍历的,是分步进行返回的,这样就不会阻塞其他的操作。 scan的用法 scan 0 match * count 1 – 第一次scan, 输入的游标是0,然后根据返回的下一个游标数字原创 2021-07-03 17:34:33 · 322 阅读 · 0 评论