redis底层算法_Redis 命令

redis底层算法_Redis 命令Redis底层函数详解 1. serverCron 函数 它负责管理服务器的资源,并维持服务器的正常运行。在执行 serverCron 函数的过程中会调用相关的子函数,如 trackOperation

Redis底层函数详解

Redis底层函数详解

  1. serverCron 函数

    它负责管理服务器的资源,并维持服务器的正常运行。在执行 serverCron 函数的过程中会调用相关的子函数,如 trackOperationsPerSecond、SigtermHandler、clientsCron、databasesCron 等函数。默认情况下,每隔 100 毫秒执行一次 serverCron 函数

  2. trackOperationsPerSecond 函数

    是 serverCron 函数的一个子函数。采用抽样计算的方式,计算并记录服务器在最近 1 秒内处理的命令请求数量。可以通过 INFO stats 命令来查看(instantaneous_ops_per_sec 属性)

    127.0.0.1:6379> info stats
    # Stats
    total_connections_received:1
    total_commands_processed:4
    instantaneous_ops_per_sec:0
    total_net_input_bytes:133
    total_net_output_bytes:5948156
    instantaneous_input_kbps:0.00
    instantaneous_output_kbps:0.00
    rejected_connections:0
    sync_full:0
    sync_partial_ok:0
    sync_partial_err:0
    expired_keys:0
    evicted_keys:0
    keyspace_hits:0
    keyspace_misses:0
    pubsub_channels:0
    pubsub_patterns:0
    latest_fork_usec:0
    migrate_cached_sockets:0
    

    代码100分

  3. sigtermHandler 函数

    sigtermHandler 函数是一个 Redis 服务器进程的 SIGTERM 信号关联处理器。在 Redis 服务器启动的时候会调用执行 sigtermHandler 函数,它负责在服务器接收到 SIGTERM 信号时,打开服务器状态的 shutdown_asap 标识。

    在每次执行服务器资源管理函数 serverCron 的时候,都会先对服务器状态的 shutdown_asap 属性的值进行判断,再决定是否关闭服务器。当 shutdown_asap 属性的值为 1 时,关闭服务器;当 shutdown_asap 属性的值为 0 时,什么也不做。

  4. clientsCron 函数

    它会对一定数量的客户端进行如下检查。

    ● 检查这个客户端与服务器的连接是否已经超时。如果连接已经超时(在很长一段时间内,客户端与服务器之间没有进行交互),则释放这个客户端的连接。

    ● 检查这个客户端的输入缓存区的大小,以便对服务器的内存进行管理。如果客户端在上一次执行命令请求后,输入缓冲区的大小超过了一定的限制,那么程序会释放这个客户端的输入缓存区,然后重新为这个客户端创建一个默认大小的输入缓冲区,以此来防止客户端的输入缓冲区消耗更多内存。

  5. databasesCron 函数

    它的作用是对服务器中的部分数据库进行检查,查找出过期的键,然后删除它们,并对 Redis 数据字典进行相关的收缩操作等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9304.html

(0)
上一篇 2023-02-11
下一篇 2023-02-11

相关推荐

  • 存储过程用法

    存储过程用法创建无参存储过程 1 create procedure proc_test01 2 as 3 begin 4 select * from myrptdetail 5 end 执行无参存储过程 exec

    2022-12-28
    167
  • Python:Mongo排序技巧让您的数据查询更高效

    Python:Mongo排序技巧让您的数据查询更高效Mongo排序是Mongo数据库操作中经常用到的一种技巧,它可以按照指定字段的值对文档进行排序,使查询更加高效。

    2024-03-13
    78
  • Python字符串首字母大写:优化您的输出

    Python字符串首字母大写:优化您的输出Python中的字符串是不可变的序列,这就意味着我们不能在字符串中直接修改单个字符。但是,有时需将字符串中的某些字符进行修改,比如变为首字母大写,这时我们可以使用字符串的一些方法来实现。字符串首字母大写即将字符串中每个单词的首字母都变为大写字母。

    2024-02-24
    116
  • 学习Python编程入门指南

    学习Python编程入门指南Python已经成为一门非常流行的编程语言,在计算机编程领域中的应用越来越广泛。Python的语法简单,易学易懂,同时具有强大的编程能力,可以用于开发桌面应用、网络应用、数据库应用等等。本文介绍了Python编程入门指南,帮助读者学习Python编程语言,掌握Python的基础知识和编程技巧。

    2024-09-22
    12
  • mysql的日志文件_Java简介

    mysql的日志文件_Java简介1 MySQL日志分类 MySQL 的日志分为两部分: Server层的日志,所有引擎共享 Engine层日志,本文只说明 InnoDB 引擎日志 2 Server 层日志 2.1 错误日志 MyS…

    2023-03-05
    144
  • redis图形化界面_redis operator

    redis图形化界面_redis operator1.介绍 使用redis-cli客户端工具,必须使用命令进行操作,效率比较低。 将使用图形化工具对redis数据库中的数据进行管理。0.9.4之后开始收费 redis-desktop-manager…

    2023-02-22
    180
  • MySQL事务ACID原理深度解析[亲测有效]

    MySQL事务ACID原理深度解析[亲测有效]什么是MySQL事务? 事务是指对数据库的一组操作的集合,集合中的SQL语句要么全部执行成功,要么就全部失败,如果集合中任一操作出错,则此集合所有对数据库的操作全部回滚。 以常见的购物操作举例,用户下

    2023-05-09
    154
  • 优化Python应用程序的时间戳处理

    优化Python应用程序的时间戳处理a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-03-21
    87

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注