工作中redis遇到过的问题,工作中redis遇到过的问题有哪些

redis分布式锁常见问题及解决方案1、使用redis客户端redisson,redisson很好的解决了redis在分布式环境下的一些棘手问题,它的宗旨就是让使用者减少对Redis的关注,将更多精力用在处理业务逻辑上 。
2、借助Redis setNX命令设置一个标志位就行 。设置成功的放行,设置失败的就轮询等待 。
3、最大的问题就是因为客户端或者网络问题,导致 redis 中的 key 没有删除,锁无法释放,因此其他客户端无法获取到锁 。
4、在传统单体应用单机部署的情况下,并发问题可以通过使用Java并发相关的锁如synchronized,但是当规模上升到分布式集群的情况下,要控制共享资源访问,就需要通过分布式锁来实现 。
Redis常见延迟问题排查手册!附33条优化建议1、注意 ,  Redis的主动过期的定时任务,也是在Redis主线程中执行的,也就是说如果在执行主动过期的过程中,出现了需要大量删除过期key的情况 , 那么在业务访问时 , 必须等这个过期任务执行结束,才可以处理业务请求 。
2、网卡负载过高 , 在网络层和TCP层就会出现数据发送延迟、数据丢包等情况 。Redis的高性能除了内存之外,就在于网络IO , 请求量突增会导致网卡负载变高 。
3、请注意,redis RDB和AOF后台线程都会产生大量文件 。所幸Linux提供了很好的工具来诊断这个问题,所以当延迟疑似是swap引起的,最简单的办法就是使用Linux提供的工具去确诊 。
Redis常见的性能问题都有哪些?1、以下是Redis常见的性能问题有哪些?Master写内存快照,save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务 , 所以Master最好不要写内存快照 。
2、缓存击穿 缓存击穿是指一个请求要访问的数据,缓存中没有,但数据库中有的情况 。这种情况一般都是缓存过期了 。
3、网卡负载过高,在网络层和TCP层就会出现数据发送延迟、数据丢包等情况 。Redis的高性能除了内存之外,就在于网络IO,请求量突增会导致网卡负载变高 。
4、Redis有部份存在硬盘上,这样能保证数据的持久性 。2)、数据支持类型 Memcache对数据类型支持相对简单 。Redis有复杂的数据类型 。
5、那还是有问题,我们可以在加锁的时候,手动调长redis锁的过期时间,可这个时间多长合适?业务逻辑的执行时间是不可控的,调的过长又会影响操作性能 。
6、redis 服务监控通过监控工具,首先排查一下redis 服务端是否是超时,可以从服务器cpu  , 内存使用情况,qps等判断server 端是否超时 。如果server 侧没有问题 , 就需要排查客户端 。
redis集群如何解决重启不了的问题关机并重启需要关机的服务器 。Copy codesudo systemctl stop 服务器名称 sudo systemctl restart 服务器名称 其中 服务器名称 是需要关机和重启的服务器名称 。检查 Redis 集群是否正常工作 。
Java服务不需要重启 , 当Redis重启后,Java应用程序会自动重新连接到Redis 。这是因为Java应用程序中的Redis客户端会自动尝试重新建立连接 。
此时就会出现,业务访问延时增大的问题,最大延迟为25毫秒 。而且这个访问延迟的情况 ,  不会记录在慢日志里 。
一开始以为是redis出问题,检查了一下,并重启了一下,还是有问题,最后重启某个微服务之后发现没问题了,到这里定位到是redisson连接管理出问题了 , 但是具体如何解决还一脸懵逼 。
问题解决了,则反思一下 , 客户端端口和集群总线端口有什么区别呢?总而言之 , 客户端端口提供的是外部客户端访问服务的端口;而集群总线端口是提供集群内部各个Redis服务之间的通信 。

推荐阅读