个人简介

Echo Blog


江湖无名 安心练剑
  • Redis Learn-08-Redis 延迟分析实战
    分析的方向 内在原因 不合理地使用API或数据结构、CPU饱和、持久化阻塞 外在原因 CPU竞争、内存交换、网络问题等。 内在原因 不合理地使用API或数据结构 可能会有一些很慢的操作。 比如 O(n) 的操作。 cpu 饱和 $ top 查看内存等占用信息 持久化阻塞 aof rdb 的 fork 持久化。 慢操作 info commandstats 可...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-08-AOF 持久化
    AOF RDB持久化是将进程数据写入文件,而AOF持久化(即Append Only File持久化),则是将Redis执行的每次写命令记录到单独的日志文件中(有点像MySQL的binlog);当Redis重启时再次执行AOF文件中的命令来恢复数据。 与RDB相比,AOF的实时性更好,因此已成为主流的持久化方案。 AOF 持久化的实现 AOF 持久化功能的实现可以分为命令追加(appe...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-07-RDB 持久化
    REDIS数据存储模式 Redis中数据存储模式有2种:cache-only,persistence; cache-only cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式; persistence persistence 即为内存中的数据持久备份到磁盘文件,在服务重启后可以...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-06-db
    db 概念 redis 默认有 16 个 db,编号为 0-15 各个 db 之间的操作是互不影响的。 配置 当然也可以自行设置总数: redis 配置文件中下面的参数来控制数据库总数: /etc/redis/redis.conf 文件中,有个配置项 databases = 16 切换 默认情况下,一个客户端连接到数据库0。 > select 0 实例大...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-06-数据库
    服务器中得数据库 Redis服务器默认会创建16个数据库。 数据库结构 Redis 中的每个数据库,都由一个 redis.h/redisDb 结构表示: typedef struct redisDb { // 保存着数据库以整数表示的号码 int id; // 保存着数据库中的所有键值对数据 // 这个属性也被称为键空间(key space) ...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-06-03-设置键的生存时间和过期时间
    EXPIRE key seconds 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。 在 Redis 中,带有生存时间的 key 被称为『易失的』(volatile)。 生存时间可以通过使用 DEL 命令来删除整个 key 来移除,或者被 SET 和 GETSET 命令覆写(overwrite),这意味着,如果一个命令只是修改(alter)一个带...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-06-02-Keyspace Notifications 过期提醒
    Keyspace Notifications redis自2.8.0之后版本提供Keyspace Notifications功能,允许客户订阅Pub / Sub频道,以便以某种方式接收影响Redis数据集的事件。 可能收到的事件的例子如下: 所有影响给定键的命令。 所有接收LPUSH操作的密钥。 所有密钥在数据库中过期0。 因为 Redis 目前的订阅与发布功能采取的是发送即忘(...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-05-数据结构之字符串 SDS
    问题 概念 为什么这么设计 和 C 字符串的区别 怎么实现的 简单动态字符串 Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型, 并将 SDS 用作 Redis 的默认字符串表示。 在 Redis 里面, C 字符串只会作为字...
    2018-12-12 03:35:23 | Redis