Day8 Redis组态档设定-KEYS TRACKING/SECURITY/CLIENT

Redis.config

KEYS TRACKING

  • tracking-table-max-keys

当开启Tracking 模式时,如果Tracking keys大於设定的数量,则会随机删除Tracking的key,然後回应用户端invalidate。透过此方式可以追踪用户端使用哪些key.

https://ithelp.ithome.com.tw/upload/images/20210923/201116584YUjhCxWas.png

# 预设
# tracking-table-max-keys 1000000

# 开启Tracking key
client tracking on

SECURITY

  • user acl

设定使用者和相关权限,所有参数可以参阅下面网址进一步了解。

ACL configuration

https://ithelp.ithome.com.tw/upload/images/20210923/20111658RaBN8gfnjU.png
https://ithelp.ithome.com.tw/upload/images/20210923/20111658uP32hjhFVS.png
https://ithelp.ithome.com.tw/upload/images/20210923/20111658dlWzsAst7S.png

# For example:
# 使用者worker 有list与connection权限,并可操作jobs的key,预设开启并设定密码。
#   user worker +@list +@connection ~jobs:* on >ffa9203c493aa99
  • acllog-max-len

设定acl记录中的项目上限.

https://ithelp.ithome.com.tw/upload/images/20210923/20111658dIpJ0pj4Bz.png

# 预设
acllog-max-len 128
  • aclfile

透过档案设定acl.需注意如果redis.config已经设定acl,则会拒绝档案acl设定.

https://ithelp.ithome.com.tw/upload/images/20210923/20111658nOBNxl4tnC.png

# 预设
# aclfile /etc/redis/users.acl
  • requirepass

用户端登入Redis Server时需要使用此密码进行验证才可执行操作.

https://ithelp.ithome.com.tw/upload/images/20210923/20111658mOsW3H3Z5k.png

# 预设
# requirepass foobared
  • acl-pubsub-default

设定预设channels的pub/sub权限,Redis 6.2开始可以使用acl设定channels的pub/sub权限.

https://ithelp.ithome.com.tw/upload/images/20210923/20111658CGKkUpHT1N.png

# 预设
# 拒绝使用channels的pub/sub
# acl-pubsub-default resetchannels

# 授权使用channels的pub/sub
acl-pubsub-default allchannels

CLIENT

  • maxclients

用户端最多可以允许多少连线数,需搭配服务器环境设定的net.core.somaxconn.

https://ithelp.ithome.com.tw/upload/images/20210923/20111658STZnKmQgNq.png

# 预设
# maxclients 10000

# 允许32767连线数
net.core.somaxconn= 32767

MEMORY MANAGEMENT

  • maxmemory

设定Redis Server 最多可以使用多少记忆体.因backgrond服务也会使用到记忆体,故建议需保留一半避免out of memory.

https://ithelp.ithome.com.tw/upload/images/20210923/20111658znEuBeNuKR.png

# 预设
# maxmemory <bytes>
  • maxmemory-policy

当记忆体不足时,配置相关的规则进行因应.
LRU: 最近没有用到的key优先删除
LFU: 最不频繁使用到的key优先删除

https://ithelp.ithome.com.tw/upload/images/20210923/20111658d5z3h4oSuI.png

# 预设
# 当超过maxmemory则会抛出错误
# maxmemory-policy noeviction
  • maxmemory-samples

针对使用LRU及TTL存活时间计算,此参数表示要检查键的样本大小。

https://ithelp.ithome.com.tw/upload/images/20210923/20111658c8R9UMT9DX.png

# 预设
# maxmemory-samples 5
  • maxmemory-eviction-tenacity

当超过maxmemory-policy设定时,设定是否需要延迟,当用户端此时大量操作时,建议放大此设定.

https://ithelp.ithome.com.tw/upload/images/20210923/20111658cJvENqVfy6.png

# 预设
# 0 低延迟
# maxmemory-eviction-tenacity 10
  • replica-ignore-maxmemory

确定Replica是否忽略maxmemory设定,方法是不从Master删除key独立移出.

https://ithelp.ithome.com.tw/upload/images/20210923/20111658PAAJ4CBYeD.png

# 预设
# replica-ignore-maxmemory yes
  • active-expire-effort

Redis 会删除已经超过其时间由两种机制生活的密钥。

https://ithelp.ithome.com.tw/upload/images/20210923/20111658BE6Rh8tZ2H.png

# 预设
# 1 会尝试避免超过 10% 的过期金钥仍在记忆体中。
# active-expire-effort 1

# 10 最多允许值,以增加在处理过期金钥上花费的工作量,但可能会使用到CPU和造成更高的延迟

<<:  【day8】居家办公的早餐diy卷饼

>>:  找LeetCode上简单的题目来撑过30天啦(DAY8)

Day 6 : 案例分享(2.2) B2B 网页下单+後台月结+前台付款

案例说明及适用场景 也算是买卖业,但对象不是一般客户,而是厂商 面对厂商,一般来说都会有寄仓、月结收...

[从0到1] C#小乳牛 练成基础程序逻辑 Day 23 - foreach 遍历 阵列 清单 var

遍历便利 | 细数每个item | 不擅长读空气? var支援你 ...

Pascal 语言和你 SAY HELLO!!

第二十七天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,...

DAY5 - Side Project 主题:90天原子习惯挑战

荀子劝学篇中有一段是这样的: 「积土成山,风雨兴焉;积水成渊,蛟龙生焉;.....。故不积蹞步,无以...

Amazon Linux 2 上将 Django 与 Nginx 整合 -Day 08

Amazon Linux 2 上将 Django 与 Nginx 整合 -Day 08 先前我们都是...