Redis 配置

1在Redis的使用过程,除了知道对Redis五种数据类型的操作方法之外,最主要额就是对redis.conf进行配置了,下面整理出redis.conf中常见的一些配置介绍。 2参数说明 3redis.conf 配置项说明如下: 41: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 5 6daemonize no 7 82: 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 9 10pidfile /var/run/redis.pid 11 123: 指定Redis监听端口,默认端口为6379 13 14因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字 15 16port 6379 17 184: 绑定的主机地址 19 20bind 127.0.0.1 21 225: 当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能 23 24timeout 300 25 266: 指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning, 27 28默认为verbose 29 30loglevel verbose 31 327: 日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志 33 34记录方式为标准输出,则日志将会发送给/dev/null 35 36logfile stdout 37 388: 设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id 39 40databases 16 41 429: 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合 43 44save <seconds> <changes> 45 46Redis默认配置文件中提供了三个条件: 47save 900 1 48save 300 10 49save 60 10000 50 51分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。 52 5310: 指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间, 54可以关闭该选项,但会导致数据库文件变的巨大 55 56rdbcompression yes 57 5811: 指定本地数据库文件名,默认值为dump.rdb 59 60dbfilename dump.rdb 61 6212: 指定本地数据库存放目录 63 64dir ./ 65 6613: 设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步 67 68slaveof <masterip> <masterport> 69 7014: 当master服务设置了密码保护时,slav服务连接master的密码 71 72masterauth <master-password> 73 7415: 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭 75 76requirepass foobared 77 7816: 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数, 79 80如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端 81 82返回max number of clients reached错误信息 83 84maxclients 128 85 8617: 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key, 87 88当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存, 89 90Value会存放在swap区 91 92maxmemory <bytes> 93 9418: 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 95 96因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no 97 98appendonly no 99 10019: 指定更新日志文件名,默认为appendonly.aof 101 102appendfilename appendonly.aof 103 10420: 指定更新日志条件,共有3个可选值: 105 106no:表示等操作系统进行数据缓存同步到磁盘(快) 107 108always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) 109 110everysec:表示每秒同步一次(折衷,默认值) 111 112appendfsync everysec 113 11421: 指定是否启用虚拟内存机制,默认值为no,简单的介绍一下,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上, 115 116访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析Redis的VM机制) 117 118vm-enabled no 119 12022: 虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享 121 122vm-swap-file /tmp/redis.swap 123 12423: 将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据 就是keys), 125 126也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0 127 128vm-max-memory 0 129 13024: Redis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享, 131 132vm-page-size是要根据存储的 数据大小来设定的,作者建议如果存储很多小对象,page大小最好设置为32或者64bytes; 133 134如果存储很大大对象,则可以使用更大的page,如果不 确定,就使用默认值 135 136vm-page-size 32 137 13825: 设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,,在磁盘上每8个pages将消耗1byte的内存。 139 140vm-pages 134217728 141 14226: 设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的, 143 144可能会造成比较长时间的延迟。默认值为4 145 146vm-max-threads 4 147 14827: 设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启 149 150glueoutputbuf yes 151 15228: 指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法 153 154hash-max-zipmap-entries 64 155 156hash-max-zipmap-value 512 157 15829: 指定是否激活重置哈希,默认为开启(后面在介绍Redis的哈希算法时具体介绍) 159 160activerehashing yes 161 16230: 指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件 163 164include /path/to/local.conf 165 166#daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行,把该项的值更改为 yes 167 168daemonize yes 169 170# 当 redis 在后台运行的时候, Redis 默认会把 pid 文件放在 /var/run/redis.pid ,你可以配置到其他地址。 171 172# 当运行多个 redis 服务时,需要指定不同的 pid 文件和端口 173 174pidfile /var/run/redis_6379.pid 175 176# 指定 redis 运行的端口,默认是 6379 177 178port 6379 179 180# 在高并发的环境中,为避免慢客户端的连接问题,需要设置一个高速后台日志 181 182tcp-backlog 511 183 184# 指定 redis 只接收来自于该 IP 地址的请求,如果不进行设置,那么将处理所有请求 185 186# bind 192.168.1.100 10.0.0.1 187 188# bind 127.0.0.1 189 190# 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接 191 192# 0 是关闭此设置 193 194timeout 0 195 196# TCP keepalive 197 198# 在 Linux 上,指定值(秒)用于发送 ACKs 的时间。注意关闭连接需要双倍的时间。默认为 0199 200tcp-keepalive 0 201 202# 指定日志记录级别,生产环境推荐 notice 203 204# Redis 总共支持四个级别: debug 、 verbose 、 notice 、 warning ,默认为 verbose 205 206# debug 记录很多信息,用于开发和测试 207 208# varbose 有用的信息,不像 debug 会记录那么多 209 210# notice 普通的 verbose ,常用于生产环境 211 212# warning 只有非常重要或者严重的信息会记录到日志 213 214loglevel notice 215 216# 配置 log 文件地址 217 218# 默认值为 stdout ,标准输出,若后台模式会输出到 /dev/null219 220logfile /var/log/redis/redis.log 221 222# 可用数据库数 223 224# 默认值为 16 ,默认数据库为 0 ,数据库范围在 0- ( database-1 )之间 225 226databases 16 227 228################################ 快照################################# 229 230# 保存数据到磁盘,格式如下 : 231 232# save 233 234# 指出在多长时间内,有多少次更新操作,就将数据同步到数据文件 rdb 。 235 236# 相当于条件触发抓取快照,这个可以多个条件配合 237 238# 比如默认配置文件中的设置,就设置了三个条件 239 240# save 900 1 900 秒内至少有 1 个 key 被改变 241 242# save 300 10 300 秒内至少有 300 个 key 被改变 243 244# save 60 10000 60 秒内至少有 10000 个 key 被改变 245 246# save 900 1 247 248# save 300 10 249 250# save 60 10000 251 252# 后台存储错误停止写。 253 254stop-writes-on-bgsave-error yes 255 256# 存储至本地数据库时(持久化到 rdb 文件)是否压缩数据,默认为 yes 257 258rdbcompression yes 259 260# 对rdb数据进行校验,耗费CPU资源,默认为yes 261 262rdbchecksum yes 263 264# 本地持久化数据库文件名,默认值为 dump.rdb 265 266dbfilename dump.rdb 267 268# 工作目录 269 270# 数据库镜像备份的文件放置的路径。 271 272# 这里的路径跟文件名要分开配置是因为 redis 在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成, 273 274# 再把该该临时文件替换为上面所指定的文件,而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中。 275 276# AOF 文件也会存放在这个目录下面 277 278# 注意这里必须制定一个目录而不是文件 279 280dir /var/lib/redis-server/ 281 282################################# 复制 ################################# 283 284# 主从复制 . 设置该数据库为其他数据库的从数据库 . 285 286# 设置当本机为 slav 服务时,设置 master 服务的 IP 地址及端口,在 Redis 启动时,它会自动从 master 进行数据同步 287 288# slaveof 289 290# 当 master 服务设置了密码保护时 ( 用 requirepass 制定的密码 ) 291 292# slave 服务连接 master 的密码 293 294# masterauth 295 296# 当从库同主机失去连接或者复制正在进行,从机库有两种运行方式: 297 298# 1) 如果 slave-serve-stale-data 设置为 yes( 默认设置 ) ,从库会继续响应客户端的请求 299 300# 2) 如果 slave-serve-stale-data 是指为 no ,出去 INFOSLAVOF 命令之外的任何请求都会返回一个 301 302# 错误 "SYNC with master in progress" 303 304slave-serve-stale-data yes 305 306# 配置 slave 实例是否接受写。写 slave 对存储短暂数据(在同 master 数据同步后可以很容易地被删除)是有用的,但未配置的情况下,客户端写可能会发送问题。 307 308# 从 Redis2.6 后,默认 slave 为 read-only 309 310slaveread-only yes 311 312# 从库会按照一个时间间隔向主库发送 PINGs. 可以通过 repl-ping-slave-period 设置这个时间间隔,默认是 10313 314# repl-ping-slave-period 10 315 316# repl-timeout 设置主库批量数据传输时间或者 ping 回复时间间隔,默认值是 60317 318# 一定要确保 repl-timeout 大于 repl-ping-slave-period 319 320# repl-timeout 60 321 322# 在 slave socket 的 SYNC 后禁用 TCP_NODELAY 323 324# 如果选择“ yes ” ,Redis 将使用一个较小的数字 TCP 数据包和更少的带宽将数据发送到 slave , 但是这可能导致数据发送到 slave 端会有延迟 , 如果是 Linux kernel 的默认配置,会达到 40 毫秒 . 325 326# 如果选择 "no" ,则发送数据到 slave 端的延迟会降低,但将使用更多的带宽用于复制 . 327 328repl-disable-tcp-nodelay no 329 330# 设置复制的后台日志大小。 331 332# 复制的后台日志越大, slave 断开连接及后来可能执行部分复制花的时间就越长。 333 334# 后台日志在至少有一个 slave 连接时,仅仅分配一次。 335 336# repl-backlog-size 1mb 337 338# 在 master 不再连接 slave 后,后台日志将被释放。下面的配置定义从最后一个 slave 断开连接后需要释放的时间(秒)。 339 340# 0 意味着从不释放后台日志 341 342# repl-backlog-ttl 3600 343 344# 如果 master 不能再正常工作,那么会在多个 slave 中,选择优先值最小的一个 slave 提升为 master ,优先值为 0 表示不能提升为 master 。 345 346slave-priority 100 347 348# 如果少于 N 个 slave 连接,且延迟时间 <=M 秒,则 master 可配置停止接受写操作。 349 350# 例如需要至少 3 个 slave 连接,且延迟 <=10 秒的配置: 351 352# min-slaves-to-write 3 353 354# min-slaves-max-lag 10 355 356# 设置 0 为禁用 357 358# 默认 min-slaves-to-write 为 0 (禁用), min-slaves-max-lag 为 10 359 360################################## 安全 ################################### 361 362# 设置客户端连接后进行任何其他指定前需要使用的密码。 363 364# 警告:因为 redis 速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行 150K 次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解 365 366# requirepass foobared 367 368# 命令重命名 . 369 370# 在一个共享环境下可以重命名相对危险的命令。比如把 CONFIG 重名为一个不容易猜测的字符。 371 372# 举例 : 373 374# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 375 376# 如果想删除一个命令,直接把它重命名为一个空字符 "" 即可,如下: 377 378# rename-command CONFIG "" 379 380################################### 约束################################### 381 382#设置同一时间最大客户端连接数,默认无限制, 383 384#Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数, 385 386#如果设置 maxclients 0 ,表示不作限制。 387 388#当客户端连接数到达限制时, Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息 389 390# maxclients 10000 391 392# 指定 Redis 最大内存限制, Redis 在启动时会把数据加载到内存中,达到最大内存后, Redis 会按照清除策略尝试清除已到期的 Key 393 394# 如果 Redis 依照策略清除后无法提供足够空间,或者策略设置为 ”noeviction” ,则使用更多空间的命令将会报错,例如 SET, LPUSH 等。但仍然可以进行读取操作 395 396# 注意: Redis 新的 vm 机制,会把 Key 存放内存, Value 会存放在 swap 区 397 398# 该选项对 LRU 策略很有用。 399 400# maxmemory 的设置比较适合于把 redis 当作于类似 memcached 的缓存来使用,而不适合当做一个真实的 DB401 402# 当把 Redis 当做一个真实的数据库使用的时候,内存使用将是一个很大的开销 403 404# maxmemory 405 406# 当内存达到最大值的时候 Redis 会选择删除哪些数据?有五种方式可供选择 407 408# volatile-lru -> 利用 LRU 算法移除设置过过期时间的 key (LRU: 最近使用 Least RecentlyUsed ) 409 410# allkeys-lru -> 利用 LRU 算法移除任何 key 411 412# volatile-random -> 移除设置过过期时间的随机 key 413 414# allkeys->random -> remove a randomkey, any key 415 416# volatile-ttl -> 移除即将过期的 key(minor TTL) 417 418# noeviction -> 不移除任何可以,只是返回一个写错误 419 420# 注意:对于上面的策略,如果没有合适的 key 可以移除,当写的时候 Redis 会返回一个错误 421 422# 默认是 : volatile-lru 423 424# maxmemory-policy volatile-lru 425 426# LRU 和 minimal TTL 算法都不是精准的算法,但是相对精确的算法 ( 为了节省内存 ) ,随意你可以选择样本大小进行检测。 427 428# Redis 默认的灰选择 3 个样本进行检测,你可以通过 maxmemory-samples 进行设置 429 430# maxmemory-samples 3 431 432############################## AOF############################### 433 434# 默认情况下, redis 会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁,如果发生诸如拉闸限电、拔插头等状况,那么将造成比较大范围的数据丢失。 435 436# 所以 redis 提供了另外一种更加高效的数据库备份及灾难恢复方式。 437 438# 开启 append only 模式之后, redis 会把所接收到的每一次写操作请求都追加到 appendonly.aof 文件中,当 redis 重新启动时,会从该文件恢复出之前的状态。 439 440# 但是这样会造成 appendonly.aof 文件过大,所以 redis 还支持了 BGREWRITEAOF 指令,对 appendonly.aof 进行重新整理。 441 442# 你可以同时开启 asynchronous dumps 和 AOF 443 444appendonly no 445 446# AOF 文件名称 ( 默认 : "appendonly.aof") 447 448# appendfilename appendonly.aof 449 450# Redis 支持三种同步 AOF 文件的策略 : 451 452# no: 不进行同步,系统去操作 . Faster. 453 454# always: always 表示每次有写操作都进行同步 . Slow, Safest. 455 456# everysec: 表示对写操作进行累积,每秒同步一次 . Compromise. 457 458# 默认是 "everysec" ,按照速度和安全折中这是最好的。 459 460# 如果想让 Redis 能更高效的运行,你也可以设置为 "no" ,让操作系统决定什么时候去执行 461 462# 或者相反想让数据更安全你也可以设置为 "always" 463 464# 如果不确定就用 "everysec". 465 466# appendfsync always 467 468appendfsync everysec 469 470# appendfsync no 471 472# AOF 策略设置为 always 或者 everysec 时,后台处理进程 ( 后台保存或者 AOF 日志重写 ) 会执行大量的 I/O 操作 473 474# 在某些 Linux 配置中会阻止过长的 fsync() 请求。注意现在没有任何修复,即使 fsync 在另外一个线程进行处理 475 476# 为了减缓这个问题,可以设置下面这个参数 no-appendfsync-on-rewrite 477 478no-appendfsync-on-rewrite no 479 480# AOF 自动重写 481 482# 当 AOF 文件增长到一定大小的时候 Redis 能够调用 BGREWRITEAOF 对日志文件进行重写 483 484# 它是这样工作的: Redis 会记住上次进行些日志后文件的大小 ( 如果从开机以来还没进行过重写,那日子大小在开机的时候确定 ) 485 486# 基础大小会同现在的大小进行比较。如果现在的大小比基础大小大制定的百分比,重写功能将启动 487 488# 同时需要指定一个最小大小用于 AOF 重写,这个用于阻止即使文件很小但是增长幅度很大也去重写 AOF 文件的情况 489 490# 设置 percentage 为 0 就关闭这个特性 491 492auto-aof-rewrite-percentage 100 493 494auto-aof-rewrite-min-size 64mb 495 496################################ LUASCRIPTING ############################# 497 498# 一个 Lua 脚本最长的执行时间为 5000 毫秒( 5 秒),如果为 0 或负数表示无限执行时间。 499 500lua-time-limit 5000 501 502################################LOW LOG################################ 503 504# Redis Slow Log 记录超过特定执行时间的命令。执行时间不包括 I/O 计算比如连接客户端,返回结果等,只是命令执行时间 505 506# 可以通过两个参数设置 slow log :一个是告诉 Redis 执行超过多少时间被记录的参数 slowlog-log-slower-than( 微妙 )507 508# 另一个是 slow log 的长度。当一个新命令被记录的时候最早的命令将被从队列中移除 509 510# 下面的时间以微妙为单位,因此 1000000 代表一秒。 511 512# 注意指定一个负数将关闭慢日志,而设置为 0 将强制每个命令都会记录 513 514slowlog-log-slower-than 10000 515 516# 对日志长度没有限制,只是要注意它会消耗内存 517 518# 可以通过 SLOWLOG RESET 回收被慢日志消耗的内存 519 520# 推荐使用默认值 128 ,当慢日志超过 128 时,最先进入队列的记录会被踢出 521 522slowlog-max-len 128 523 524################################ 事件通知 ############################# 525 526# 当事件发生时, Redis 可以通知 Pub/Sub 客户端。 527 528# 可以在下表中选择 Redis 要通知的事件类型。事件类型由单个字符来标识: 529 530# K Keyspace 事件,以 _keyspace@_ 的前缀方式发布 531 532# E Keyevent 事件,以 _keysevent@_ 的前缀方式发布 533 534# g 通用事件(不指定类型),像 DEL, EXPIRE, RENAME,535 536# $ String 命令 537 538# s Set 命令 539 540# h Hash 命令 541 542# z 有序集合命令 543 544# x 过期事件(每次 key 过期时生成) 545 546# e 清除事件(当 key 在内存被清除时生成) 547 548# A g$lshzxe 的别称,因此 ”AKE” 意味着所有的事件 549 550# notify-keyspace-events 带一个由 0 到多个字符组成的字符串参数。空字符串意思是通知被禁用。 551 552# 例子:启用 list 和通用事件: 553 554# notify-keyspace-events Elg 555 556# 默认所用的通知被禁用,因为用户通常不需要改特性,并且该特性会有性能损耗。 557 558# 注意如果你不指定至少 KE 之一,不会发送任何事件。 559 560notify-keyspace-events “” 561 562############################## 高级配置 ############################### 563 564# 当 hash 中包含超过指定元素个数并且最大的元素没有超过临界时, 565 566# hash 将以一种特殊的编码方式(大大减少内存使用)来存储,这里可以设置这两个临界值 567 568# Redis Hash 对应 Value 内部实际就是一个 HashMap ,实际这里会有 2 种不同实现, 569 570# 这个 Hash 的成员比较少时 Redis 为了节省内存会采用类似一维数组的方式来紧凑存储,而不会采用真正的 HashMap 结构,对应的 valueredisObject 的 encoding 为 zipmap, 571 572# 当成员数量增大时会自动转成真正的 HashMap, 此时 encoding 为 ht 。 573 574hash-max-zipmap-entries 512 575 576hash-max-zipmap-value 64 577 578# 和 Hash 一样,多个小的 list 以特定的方式编码来节省空间。 579 580# list 数据类型节点值大小小于多少字节会采用紧凑存储格式。 581 582list-max-ziplist-entries 512 583 584list-max-ziplist-value 64 585 586# set 数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储。 587 588set-max-intset-entries 512 589 590# 和 hashe 和 list 一样 , 排序的 set 在指定的长度内以指定编码方式存储以节省空间 591 592# zsort 数据类型节点值大小小于多少字节会采用紧凑存储格式。 593 594zset-max-ziplist-entries 128 595 596zset-max-ziplist-value 64 597 598# Redis 将在每 100 毫秒时使用 1 毫秒的 CPU 时间来对 redis 的 hash 表进行重新 hash ,可以降低内存的使用 599 600# 当你的使用场景中,有非常严格的实时性需要,不能够接受 Redis 时不时的对请求有 2 毫秒的延迟的话,把这项配置为 no 。 601 602# 如果没有这么严格的实时性要求,可以设置为 yes ,以便能够尽可能快的释放内存 603 604activerehashing yes 605 606# 客户端的输出缓冲区的限制,因为某种原因客户端从服务器读取数据的速度不够快, 607 608# 可用于强制断开连接(一个常见的原因是一个发布 / 订阅客户端消费消息的速度无法赶上生产它们的速度)。 609 610# 可以三种不同客户端的方式进行设置: 611 612# normal -> 正常客户端 613 614# slave -> slave 和 MONITOR 客户端 615 616# pubsub -> 至少订阅了一个 pubsub channel 或 pattern 的客户端 617 618# 每个 client-output-buffer-limit 语法 : 619 620# client-output-buffer-limit 621 622# 一旦达到硬限制客户端会立即断开,或者达到软限制并保持达成的指定秒数(连续)。 623 624# 例如,如果硬限制为 32 兆字节和软限制为 16 兆字节 /10 秒,客户端将会立即断开 625 626# 如果输出缓冲区的大小达到 32 兆字节,客户端达到 16 兆字节和连续超过了限制 10 秒,也将断开连接。 627 628# 默认 normal 客户端不做限制,因为他们在一个请求后未要求时(以推的方式)不接收数据, 629 630# 只有异步客户端可能会出现请求数据的速度比它可以读取的速度快的场景。 631 632# 把硬限制和软限制都设置为 0 来禁用该特性 633 634client-output-buffer-limit normal 0 0 0 635 636client-output-buffer-limit slave 256mb 64mb60 637 638client-output-buffer-limit pubsub 32mb 8mb60 639 640# Redis 调用内部函数来执行许多后台任务,如关闭客户端超时的连接,清除过期的 Key ,等等。 641 642# 不是所有的任务都以相同的频率执行,但 Redis 依照指定的“ Hz ”值来执行检查任务。 643 644# 默认情况下,“ Hz ”的被设定为 10645 646# 提高该值将在 Redis 空闲时使用更多的 CPU 时,但同时当有多个 key 同时到期会使 Redis 的反应更灵敏,以及超时可以更精确地处理。 647 648# 范围是 1500 之间,但是值超过 100 通常不是一个好主意。 649 650# 大多数用户应该使用 10 这个预设值,只有在非常低的延迟的情况下有必要提高最大到 100651 652hz 10 653 654# 当一个子节点重写 AOF 文件时,如果启用下面的选项,则文件每生成 32M 数据进行同步。 655 656aof-rewrite-incremental-fsync yes
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )