验证功能访问Redis的次数和命令

验证,功能,访问,redis,次数,命令 · 浏览次数 : 204

小编点评

## Redis 功能测试方法总结 **1. 记录功能使用次数:** * 开发人员可以使用 Redis cli 的 `HMSET` 命令记录每个功能的调用次数。 * 可以将记录写入日志文件或数据库中。 **2. 记录每个功能的命令和参数:** * 可以使用 Redis cli 或其他监控工具记录每个命令和参数。 * 可以将记录写入日志文件或数据库中。 **3. 建立功能使用统计:** * 可以将记录的命令和参数一起存储,并根据需要进行分析。 * 可以使用图表或其他方式呈现功能使用统计。 **4. 建立功能与性能的关联分析:** * 可以使用性能测试工具,例如 `slowlog` 或 `redis-perf-test`,记录性能指标和功能使用次数之间的关系。 * 可以通过分析性能数据来优化功能性能。 **5. 建立功能与效果的分析:** * 可以使用功能测试工具,例如 `redis-perf-test`,记录功能测试的结果和性能指标。 * 可以通过分析功能测试数据来评估其效果。 **6. 建立功能与成本的分析:** * 可以使用性能测试工具,例如 `redis-perf-test`,记录功能测试的成本和性能影响。 * 可以通过分析成本数据来评估功能的性价比。 **7. 建立功能与风险分析:** * 可以使用功能测试工具,例如 `redis-perf-test`,记录功能测试中出现的风险。 * 可以通过分析风险数据来评估功能的安全性。

正文

背景

公司内部在进行性能调优, 调优有多个方法.
应用Redis方面主要的调优有:
1. 进行redis键值对大小的处理.
2. 进行redis键值对过期时间的处理.
3. 减少连接数,减少网络带宽. 
4. 优化方法.尽量使用O(1)命令代替复杂命令.
5. 严格禁止使用复杂指令,比如flushall,keys 等命令.
感觉还有一个比较大的方向是:
验证具体功能 使用的redis 次数,命令类型. 涉及的键值对等. 

研发层次的方法

最简单的办法,还是在Redis被调用时由研发进行日志记录. 
只需要记录.上下文里面的功能 然后记录 redis的命令 和参数就可以了

可以单独记录到其他地方. 可以保存为一个 文本文件便于后续分析
缺点: 影响功能. 担心有遗漏. 
有点: 业务使用者几乎无损无感觉

基于Redis命令的处理

还有一种简单办法.可以使用redis-cli的命令进行监控.
比如我写一个命令:
redis-cli -h 10.110.80.116 -a Testxxxxxxxx -p 6379 monitor 
可以保存为 一个命令 比如 monitor.bat
需要注意, 还需要将 redis-cli.exe 放到 c:\windows\system32\ 的路径下

然后最简单的方法
在monitor 所在的目录执行 monitor.sh > 凭证制单.txt
在打开功能之前执行这个命令. 
然后 在打开完成使用完成之后control C 关闭这个monitor
这样的话 就可以完整监控到. 
需要注意每次可能需要根据不通的功能进行处理. 

效果为

1673012799.481448 [0 127.0.0.1:12361] "SETEX" 
"\xac\xed\x00\x05t\x005caf:bzctx:s:size:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a" "172800" 
"\xac\xed\x00\x05sr\x00\x11java.lang.Integer\x12\xe2\xa0\xa4\xf7\x81\x878\x02\x00\x01I\x00\x05valuexr\x00\x10java.lang.
Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x00\x01"

1673012799.483396 [0 127.0.0.1:12355] "HMSET" "caf-session:sessions:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a" "lastAccessedTime" 
"\xac\xed\x00\x05sr\x00\x0ejava.lang.Long;
\x8b\xe4\x90\xcc\x8f#\xdf\x02\x00\x01J\x00\x05valuexr\x00\x10java.lang.
Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x01\x85\x87Ug\xa5"

1673012799.483735 [0 127.0.0.1:12357] "SADD" 
"caf-session:expirations:1673014620000" "\xac\xed\x00\x05t\x00,
expires:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a"

1673012799.484058 [0 127.0.0.1:12323] "PEXPIRE" 
"caf-session:expirations:1673014620000" "2100000"

1673012799.485237 [0 127.0.0.1:12319] "HGETALL" 
"caf-session:sessions:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a"

1673012799.486898 [0 127.0.0.1:12345] "HGETALL" 
"caf-session:sessions:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a"

与验证功能访问Redis的次数和命令相似的内容:

验证功能访问Redis的次数和命令

背景 公司内部在进行性能调优, 调优有多个方法. 应用Redis方面主要的调优有: 1. 进行redis键值对大小的处理. 2. 进行redis键值对过期时间的处理. 3. 减少连接数,减少网络带宽. 4. 优化方法.尽量使用O(1)命令代替复杂命令. 5. 严格禁止使用复杂指令,比如flushal

[转帖]回放线上流量利器-GoReplay

https://www.cnblogs.com/Chary/p/16829396.html 一. 线上引流产生背景 日常大部分的测试工作都是在测试环境下,通过模拟用户的行为来对系统进行验证,包括功能以及性能。在这个过程中,你可能会遇到以下问题: 用户访问行为比较复杂,模拟很难和用户行为一致,模拟不够

抽丝剥茧:详述一次DevServer Proxy配置无效问题的细致排查过程

事情的起因是这样的,在一个已上线的项目中,其中一个包含登录和获取菜单的接口因响应时间较长,后端让我尝试未经服务转发的另一域名下的新接口,旧接口允许跨域请求,但新接口不允许本地访问(只允许发布测试/生产的域名访问)。 问题 那么问题来了,本地环境该如何成功访问到新的接口并验证业务功能是否生效呢? 尝试

Rancher系列文章-Rancher v2.6使用脚本实现导入集群

概述 最近在玩 Rancher, 先从最基本的功能玩起, 目前有几个已经搭建好的 K8S 集群, 需要批量导入, 发现官网已经有批量导入的文档了. 根据 Rancher v2.6 进行验证微调后总结经验. 1. Rancher UI 获取创建集群参数 访问Rancher_URL/v3/cluster

Springboot简单功能示例-3 实现基本登录验证

博主尝试通过gitee的发行版,使用Springboot为基础框架,逐步整合JWT、JPA、VUE等常用功能项目。【本节完成】使用spring-security6.1.3,抛弃了WebSecurityConfigurerAdapter的配置方式,直接使用session实现基本的登录验证功能

2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装

前景提示 想在windows10上安装一个docker容器的desktop版本,但是,总是安装wsl不好使,同时,windows store没有了,用命令行安装的linux系统无法启动,也无法连接,之前想到的方案是安装旧的版本,然后,快速关闭wsl的验证功能,勉强可以跑起来,但是,存在大量问题和功能

如何用 JavaScript 编写你的第一个单元测试

前言 测试代码是使代码安全的第一步。做到这一点的最好方法之一是使用单元测试,确保应用程序中的每个小功能都能发挥其应有的作用--特别是当应用程序处于边缘情况,比如无效的输入,或有潜在危害的输入。 为什么要单元测试 说到单元测试,有许多不同的方法。单元测试的一些主要目的是: 验证功能:单元测试确保代码做

图形验证码+短信验证码实战

## 前言: 上一篇分分享了[基于阿里云实现的短信验证码](https://www.cnblogs.com/wml-it/p/17613232.html)文章,考虑到为了防止登录时,非人工操作,频繁获取验证码,趁热打铁,现在添加了图片验证码服务功能。借鉴网上传统的做法,把实现这两个验证的功能做成有个

[WPF]浅析依赖属性(DependencyProperty)

在WPF中,引入了依赖属性这个概念,提到依赖属性时通常都会说依赖属性能节省实例对内存的开销。此外依赖属性还有两大优势。 支持多属性值,依赖属性系统可以储存多个值,配合Expression、Style、Animation等可以给我们带来很强的开发体验。 加入了属性变化通知,限制、验证等功能。方便我们使

apisix~升级原始插件的方法

扩展apisix原始插件 当apisix提供的插件不能满足我们要求时,我们可能需要将它的plugin进行个性化扩展,例如一个jwt认证插件jwt-auth,它本身具有验证jwt有效性功能,支持rs256,hs256等常用签名算法,但在验证之后,如果希望将jwt中的用户信息取出来,并放请求头向上游传递