
Redis是建立在TCP协议上的CS架构,客户端client对redis server采取请求响应的方式交互每次交互会有网络延迟,大约30ms
假设有这样一个场景,redis中存储上千个key值,获取每个key对应field的value,那么要向redis请求上千次 hget(key, field),获取响应也是对应的次数如果能一次性将所有请求提交给server端,执行完成后批量获取响应,只需向redis请求1次,性能获大幅提升
没有用pipeline之前,基本上获取所有数据需要90多s,现在只需03s,性能提升清晰可见
实现以下场景:定时任务每隔1s执行任务函数,但是任务函数执行完成的时间比1s要长,此时启动定时任务要加上两个参数,否则会报错
可允许的实例个数,如果没有设置,则默认为1,表示id相同的任务实例数
像上面的例子中,会报skipped: maximum number of running instances reached (1)的错误,意思APScheduler试图重新执行作业,但前一个仍在运行。
这个参数可以理解为任务的超时容错配置,给executor 一个超时时间,这个时间范围内要是该跑的还没跑完,就别再跑了
像上面的例子中,会报Run time of job …… next run at: ……)” was missed by的错误
可以使用命令:redis-cli
-p端口
-hIP地址
keys
""
|wc
-l
如果是集群:redis-cli
-c
-p端口
-hIP地址
keys
""
|wc
-l(多了个-c)
注意keys
命令只能列出当前的节点的key的数量
key已经存在的时间,不知道是否可以获取。
TTL key //获取key的有效时间。
或者我们将key存入hash类型中,用一个create_time字段来存储字段的创建时间。
hmset key fieldName1 value create_time "2018-11-10 00:17:10"
希望对你有所帮助。推荐一个学习redis入门学习网站,apeit-程序猿IT中关于redis由浅入深的学习。
以上就是关于关于redis批量获取数据pipeline全部的内容,包括:关于redis批量获取数据pipeline、redis那个命令可以统计key的数量、请教各位,如何获得redis中key的已经存在的时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)