Closed KamiPasi closed 3 weeks ago
例行检查
问题描述 当数据库延迟比较高的时候, 高并发请求延迟也会变高, 即使开了redis的情况下 怀疑可能是因为每次请求都会同步用户余额造成的 根据用户的余额来判断是不是每次请求都同步余额不知道是否可行 让gpt分析了一下不知道对不对:
CacheGetUserQuota
CacheUpdateUserQuota
同时操作(竞争读写):
一般情况下:
肯定是您自己的配置问题而不是redis的问题
啥配置, 我没改过redis的配置
例行检查
问题描述 当数据库延迟比较高的时候, 高并发请求延迟也会变高, 即使开了redis的情况下 怀疑可能是因为每次请求都会同步用户余额造成的 根据用户的余额来判断是不是每次请求都同步余额不知道是否可行 让gpt分析了一下不知道对不对:
延迟问题分析:
CacheGetUserQuota
运行时通常不会受到CacheUpdateUserQuota
的直接影响,除非两个操作在同一个 Redis 键上竞争读写。CacheUpdateUserQuota
正在写 Redis 缓存,而此时CacheGetUserQuota
正在读相同的缓存键,可能会发生一定的延迟,因为 Redis 是单线程处理命令的客户端线程。延迟的具体情形:
同时操作(竞争读写):
CacheUpdateUserQuota
正在写入数据,且这个过程需要一点时间(如数据库读操作),此时有可能CacheGetUserQuota
会稍微等待写操作的完成。一般情况下: