
redis
文章平均质量分 84
lqadam
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
缓存的使用模式
缓存的使用模式 最近在看公司的库存编年史,看到公司在库存上的架构演变,看到关于缓存的地方,发现对于缓存的设计有点忘了,整理总结一下。 cache aside 最常见 就是最常见的有缓存读缓存,没缓存读db,回写缓存,更新db需要失效缓存 问题 这里需要注意的是并发情况下的顺序问题 先更新db,后更新缓存:后更新,而不是失效缓存的问题是 如果有并发的写的话,因为回写缓存的网络延迟不好控制,会存在先...原创 2019-12-08 16:14:15 · 412 阅读 · 0 评论 -
redis 排序
sort命令可对集合、列表和有序集合排序,对有序集合排序,默认使用集合的key而不是score作为排序依据 命令格式:SORT <key> [ALPHA] [ASC|DESC] [BY <by-pattern>] [LIMIT <offset> <count>] [GET <get-pattern> [...<get-patte...原创 2018-03-03 13:03:22 · 1178 阅读 · 0 评论 -
redis 慢查询、位数组和事务
慢查询日志 配置慢查询日志 慢查询日志查看 慢查询日志实现 monitor 位数组 命令 实现 BITCOUNT的实现 事务 事务的执行流程 实现 watch命令 慢查询日志 配置慢查询日志 选项slowlog-log-slower-than用于配置执行时间大于多少毫秒的命令会记录慢查询日志 选项slowlog-max-len用于配置服务器最多保存多少条慢查询...原创 2018-03-03 13:02:43 · 350 阅读 · 0 评论 -
redis lua脚本相关知识点
redis的lua环境实现流程 EVAL执行原理 命令 对于脚本的复制 redis的lua环境实现流程 服务器调用C的API创建一个Lua环境 将一些基础函数库导入到Lua环境中,并删除能载入外部文件的函数loadfile 创建redis函数的全局表格。函数包含了redis.call和redis.pcall、redis计算has值的函数,redis日志函数和返回错误的函数 使...原创 2018-03-03 13:00:39 · 320 阅读 · 0 评论 -
redis 发布与订阅
命令列举 SUBSCRIBE <channel [channel]>:订阅频道,以接收发送到这个频道的消息 PUBLISH <channel> <message>: 该命令会向频道发送消息,所有订阅频道的订阅者都会收到消息 PSUBSCRIBE <channel_pattern>:这是接受正则表达式的SUBSCRIBE命令,可以订阅符合某个模式的...原创 2018-03-03 12:58:40 · 299 阅读 · 0 评论 -
redis 集群 相关知识点
节点 clusterNode结构体 clusterLink结构体 clusterState结构体 集群分片 槽信息存储 计算键属于哪个槽 集群分片后键值的操作 集群分片后,数据库使用的不同 重新分片:使用redis-trib redis集群管理软件 重新分片期间的键值对操作 ASK错误和MOVED错误 集群复制和故障转移 集群的复制 集群的故障检测 集群的故障转移 集群的消息 ...原创 2018-03-03 12:57:59 · 447 阅读 · 0 评论 -
redis sentinel(哨兵)
Sentinel原理 Sentinel 监视流程 sentinel检查下线 主观下线: 客观下线: 故障转移: 选举领头sentinel: 故障转移 Sentinel是redis高可用的方案,通过设立一个或多个Sentinel监视服务器,可以在主服务器下线的时候及时选举切换到从服务器,保证可用性。 Sentinel本身也是服务器,只是运行在特殊模式下,监听其他...原创 2018-03-03 12:56:47 · 444 阅读 · 0 评论 -
redis 复制
复制的问题 复制流程 redis的复制,主要是两步: 1. 同步:全量复制RDB文件。从服务器发送SYNC命令,主服务器生成RDB文件,传输给从服务器 2. 命令传播:增量同步新的写命令。主服务器将新的写命令发送给从服务器,从而一直保持二者的数据同步 复制的问题 复制如果一直正常最好,如果出现掉线的问题,那么重新连接之后,如何再次同步呢? 在旧版(2.8以前),每次...原创 2018-03-03 12:55:33 · 489 阅读 · 0 评论 -
redis 服务器
redis服务器 服务器启动初始化过程 初始化redis Server结构体的状态:initServerConfig函数内。包括设置运行Id,设置默认运行频率,设置配置文件路,设置端口号,设置RDB和AOF持久化条件,初始化lru时钟和创建命令表(即客户端传来的命令字符串和实际执行命令的函数等信息结构体之间的哈希表,字符串不区分大小写)。 载入配置项:通过终端输入和配置文件的内容,替换s...原创 2018-03-03 12:54:34 · 477 阅读 · 0 评论 -
redis 客户端
redis客户端 客户端通用属性(即不为特别功能设置的属性) 客户端何时关闭 redis客户端 redis连接到服务器的客户端会在redisServer结构体内形成一个redisClient的链表保存 客户端通用属性(即不为特别功能设置的属性) 名字:默认为空,只起别名标识的作用 套接字描述符fd:客户端正在使用的套接的描述符,如果是伪客户端(AOF和lua脚本客户端)...原创 2018-03-03 12:52:56 · 1267 阅读 · 0 评论 -
redis 事件
redis 事件 文件事件 要点 时间事件 时间事件 结构 时间事件的实现: 文件事件和时间事件的协同处理 redis 事件 redis分为文件事件和时间事件两类事件,其中,文件事件为socket产生的相应事件,与客户端对数据的读写有关系,时间事件是定时触发的事件,与服务器的定时任务,过期键值对的删除有关。 文件事件 基于reactor模式(主线程轮训多个请求...原创 2018-03-03 12:51:21 · 273 阅读 · 0 评论 -
redis 数据库结构、RDB备份和AOF备份
数据库结构 键空间 字典 过期字典 redis备份和复制机制中过期键值对的行为 RDB持久化 RDB持久化的保存 手动持久化 自动持久化 RDB持久化的恢复 RDB文件的格式 databases结构: key_value_paires结构: AOF持久化 AOF持久化的实现:命令追加、文件写入、文件同步 命令追加 文件写入与同步 AOF文件的载入 AOF文件重写 AO...原创 2018-03-03 12:50:24 · 368 阅读 · 0 评论 -
redis 数据结构 redis对象
对象 结构 type取值 encondig取值和对应的ptr类型 对象和编码的对应关系(一对多) 对象共享 对象的空转时长 部分对象实现要点 各个对象encoding选择的策略 字符串对象 列表对象 哈希对象 集合对象 有序集合 内存回收策略 对象 redis将内部的数据结构封装,包含在redis对象中,redis有五种对象:字符串对象、列表对象、哈希对象、集合...原创 2018-03-03 12:25:22 · 353 阅读 · 0 评论 -
redis 数据结构 整数集合和压缩列表
整数集合 结构: encoding 说明 要点 redis内的使用 压缩列表 结构 一个压缩列表包含 entry结构 要点: redis内使用 整数集合 结构: typedef struct intset{ uint32_t encoding;//编码,表明content内保存的整型的类型 uing32_t length;//数组的...原创 2018-03-03 12:14:15 · 592 阅读 · 0 评论 -
redis 数据结构 跳表
跳表 结构: 要点: redis内的使用 跳表 要先有跳表的数据结构基础: 跳表是链表的一个变种,通过增加多余的指针,将单向链表变成多向链表,进而使跳表的查询效率和平衡二叉树看齐(平均o(logN),最坏o(N)),而且较之二叉树实现方便。 而跳表本身,有一些比较迷的实现策略:比如,新增节点的层次是通过随机数(抛硬币)指定的,存在一个随机概率,这在redis内,概率...原创 2018-03-03 12:12:55 · 810 阅读 · 0 评论 -
redis 数据结构 字典
哈希表和字典 结构: 要点 rehash时机 redis内的使用 哈希表和字典 我就不明白了,c里面没有,c++的stl里有啊,redis为什么要自己实现 结构: /** * 哈希节点 **/ typedef struct dictEntry{ void *key;//键,任意类型 union{//值,三选一,或者是自定义val,或者是无符...原创 2018-03-03 12:11:57 · 308 阅读 · 0 评论 -
redis 数据结构 简单动态字符串和链表
假期在家,看了《Redis 设计与实现》,将其整理成了md。 想来,有两个月左右没有写博客了,将笔记作为一个系列更上来 简单动态字符串(simple dinamic string,即sds) 用来替代c的字符串实现 结构: 要点: buf[]的大小 使用sds,而不使用string的好处 redis内的使用 链表 结构: 要点 redis内使用 简单动...原创 2018-03-03 12:10:59 · 268 阅读 · 0 评论