redis使用过程中的常见问题

1 cont get a connection from the pool

  1. 参数问题,有可能是连接池太小引起
  2. jedis版本问题引起
  3. 3.服务器性能引起

可以借鉴https://www.cnblogs.com/lin557/p/11545636.html

2缓存在高并发和安全压力下的一些问题

1.缓存击穿
是某一个热点key在高并发访问的情况下,突然失效,导致大量的并发打进mysql数据库的情况。

解决方法:第一种分布式锁:redis自带一个分布式锁,set px nx
redis使用过程中的常见问题第二种分布式锁:redisson框架,一个redis的带有juc的lock功能的客户端的实现(既有jedis的功能,又有juc的锁功能)

2.缓存穿透
是利用redis和mysql的机制(redis缓存一旦不存在,就访问mysql),直接绕过缓存访问mysql,而制造的db请求压力

解决方法:为了防止缓存穿透将,null或者空字符串值设置给redis

3.缓存雪崩
缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,导致的db崩溃。

解决方法:设置不同的缓存失效时间