zoukankan      html  css  js  c++  java
  • 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
      
    3. sigtermHandler 函数

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

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

    4. clientsCron 函数

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

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

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

    5. databasesCron 函数

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

  • 相关阅读:
    在Python下调用Labview
    CVX: Matlab Software for Disciplined Convex Programming
    ANSYS Electronics Desktop 调出HFSS模块
    在python下打开cmd,并调用其他py文件
    CVXOPT的安装
    分享小记:指数族分布
    应用运筹学基础:线性规划 (4)
    应用运筹学基础:线性规划 (3)
    应用运筹学基础:线性规划 (2)
    白话论文:A Tutorial on Principal Component Analysis
  • 原文地址:https://www.cnblogs.com/undefined22/p/12593793.html
Copyright © 2011-2022 走看看