随笔分类 -  redis相关

摘要:Redis集群是Redis提供的分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移。 节点 一个Redis集群通常由多个节点组成,每个节点互相关联,构成一个多个节点组成的集群。可以通过CLUSTER MEET命令完成连接各个节点的工作。 CLUSTER MEET <ip> <port 阅读全文
posted @ 2020-05-06 20:51 名字可以起这么长 阅读(356) 评论(0) 推荐(0)
摘要:Sentinel(哨兵)是Redis的高可用性的解决方案,由一个或者多个Sentinel实例组成了Sentinel系统可以监视任意多个主服务器,以及这些下属的从服务器。假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独 阅读全文
posted @ 2020-05-02 14:23 名字可以起这么长 阅读(230) 评论(0) 推荐(0)
摘要:Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让服务器去复制另一台服务器,被复制的为master服务器,复制的被成为slave服务器。 旧版本Redis实现复制 同步:将从服务器的数据库状态更新至主服务器的数据库状态。 命令传播:主服务器的数据库状态被修改,导致主从服务 阅读全文
posted @ 2020-04-30 15:47 名字可以起这么长 阅读(180) 评论(0) 推荐(0)
摘要:RDB 的优点 1.RDB 是一个非常紧凑(compact)的文件,它保存了 Redis 在某个时间点上的数据集。 这种文件非常适合用于进行备份: 比如说,你可以在最近的 24 小时内,每小时备份一次 RDB 文件,并且在每个月的每一天,也备份一个 RDB 文件。 这样的话,即使遇上问题,也可以随时 阅读全文
posted @ 2020-04-28 19:58 名字可以起这么长 阅读(271) 评论(0) 推荐(0)
摘要:AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的。 AOF持久化保存数据库状态的方法是将服务器执行的SET、SADD、RPUSH三个命令保存到AOF文件中。服务器在启动的时候,可以通过载入和执行APF文件中保存的命令来还原服务器关闭之前的数据库状态。 实现 AOF持久化功能的实 阅读全文
posted @ 2020-04-28 19:56 名字可以起这么长 阅读(177) 评论(0) 推荐(0)
摘要:RDB持久化功能,可以将Redis在内存中的数据库状态保存到磁盘里面,既可以手动执行,也可以根据配置定期执行,该功能可以将某一个时间点上的数据库状态保存带一个RDB文件上。RDB文件是一个经过压缩的二进制文件 创建和载入 两个Redis命令回生成RDB文件,一个是SAVE,一个是BGSAVE SAV 阅读全文
posted @ 2020-04-28 17:07 名字可以起这么长 阅读(167) 评论(0) 推荐(0)
摘要:Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组中每个项都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库,默认redis服务器会创建16个数据库。 数据库键空间 Redis是一个键值对数据库服务器,服务器中 阅读全文
posted @ 2020-04-26 18:06 名字可以起这么长 阅读(540) 评论(0) 推荐(0)
摘要:前面几篇文章,我们一起学习了redis用到的所有主要数据结构,比如简单动态字符串(sds)、双端链表、字典、压缩列表、整数集合等等。 redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五 阅读全文
posted @ 2020-04-24 16:00 名字可以起这么长 阅读(167) 评论(0) 推荐(0)
摘要:整数集合 整数集合(intset)是集合键的底层实现之一,当一个集合只包含 整数值元素,并且这个集合的元素数量不多时,Redis就会使用郑书记和作为集合键的底层实现。 整数集合的实现 整数集合是redis用于保存整数值的集合抽象数据结构,它可以可以保存类型位int16_t、int32_t、int64 阅读全文
posted @ 2020-04-24 15:52 名字可以起这么长 阅读(207) 评论(0) 推荐(0)
摘要:字典,又称为符号表(symbol table)、关联数组(associative array)或映射(map),是一种用于保存键值对的抽象数据结构。 字典经常作为一种数据结构内置在很多高级编程语言里面,但redis所使用的C语言并没有内置这种数据结构,因此Redis构建了自己的字典实现。 字典在re 阅读全文
posted @ 2020-04-24 15:38 名字可以起这么长 阅读(177) 评论(0) 推荐(0)
摘要:跳跃表(skipList)简介 跳跃表(skipList)是一种有序数据结构,他通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。 跳跃表支持评价O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。 在大部分情况下,跳跃表的效率可以和平衡树相媲美, 阅读全文
posted @ 2020-04-24 15:12 名字可以起这么长 阅读(317) 评论(0) 推荐(0)
摘要:链表简介 链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地跳转链表的长度。 作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为Redis使用C语言并没有内置这种数据结构,所以Redis构建了自己的链表实现。 链表在Redis中的应用非常多,比如列表键的底 阅读全文
posted @ 2020-04-24 00:09 名字可以起这么长 阅读(184) 评论(0) 推荐(0)
摘要:redis的底层数据结构有以下7种,包括简单动态字符串(SDS),链表、字典、跳跃表、整数集合、压缩列表、对象。今天我们一起看下简单动态字符串(simple dynamic string),后面的文章以SDS简称。 SDS简介 Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符串数组, 阅读全文
posted @ 2020-04-23 22:23 名字可以起这么长 阅读(195) 评论(0) 推荐(0)