Redis遇到的坑

1.Redis连接不上的问题

1.1 首先查看applicaiton.yml文件中是否设置了密码password: 123456,然后看redis本身是否有密码(redis第一次安装默认没有密码),要是applicaiton.yml有密码,redis没设密码,会出现连接不上,直接注掉#password: 123456可以访问,相反同理。

1.2 (在1.1不成功后,查看配置文件redis.conf是否出错)

    修改redis.conf文件

      1.将bind 127.0.0.1加上注释,(#bind 127.0.0.1),允许出本机外的IP访问redis

      2.将protected-mode yes,修改为protected-mode no;不保护redis

      3.将daemonize no,修改为daemonize yes;允许redis服务后台运行

      4、重新启动redis,重启redis的时候一定要制定配置文件,不然修改后的配置文件是没有发挥作用的
        ./redis-server /usr/local/redis/etc/redis.conf

2.org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out

    错误原因:连接超时时间设置的过于短暂(我这边设置成了0),修改为60000左右即可
    
```java
spring:
  redis:
    #设置数据库索引
    database: 0
    #Redis服务器地址
    host: 10.1.1.1
    #Redis服务器连接端口
    port: 6379
    #Redis服务器连接密码(默认为空)
    #password: 123456
    #连接池最大连接数(使用负值表示没有限制)
    lettuce:
      pool:
        max-active: 10
    #连接池最大阻塞等待时间(使用负值表示没有限制)
        max-wait: -1
    #连接池中的最大空闲连接
        max-idle: 10
    #连接池中的最小空闲连接
        min-idle: 0
    #连接超时时间(毫秒)
    timeout:  60000
```

3.io.lettuce.core.RedisCommandExecutionException: ERR Client sent AUTH, but no password is set
  意思就是redis服务器没有设置密码,但客户端向其发送了AUTH请求
  applicaiton.yml直接注掉密码#password: 123456就可以访问了。

4.io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required解决方法
  出现认证问题,应该是设置了认证密码,在配置文件application.yml中加入password: 123456即输入密码就可以啦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 Redis 的过期回调,你可能会遇到一些。以下是一些常见的问题和解决方法: 1. 过期回调不触发:如果设置了过期时间,并且配置了过期回调函数,但回调函数没有被触发,可能是由于以下原因: - Redis 的 keyspace notifications 没有开启。可以通过配置文件或者使用 `CONFIG SET notify-keyspace-events` 命令来进行设置。 - 过期键的回调事件被禁用。可以通过配置文件或者使用 `CONFIG SET notify-keyspace-events` 命令来进行设置。 2. 回调函数执行的时间限制:Redis 对于过期回调函数有一个执行时间限制,默认是 100 毫秒。如果回调函数执行时间超过此限制,可能会被中断。为了避免此问题,可以将回调函数的逻辑简化,或者将复杂的处理逻辑转移到其他地方。 3. 回调函数的线程安全性:Redis 的过期回调函数是在主线程中运行的,所以要确保回调函数是线程安全的。需要考虑多线程并发访问共享资源时可能出现的竞争条件和数据一致性问题。 4. 回调函数的执行顺序:当多个键同时过期时,无法保证回调函数的执行顺序。如果需要按照某种顺序执行回调函数,可以在回调函数中添加额外的逻辑或者使用其他方法来进行控制。 5. 回调函数的效率:过期回调函数在 Redis 主线程中执行,可能会影响 Redis 的响应速度。如果回调函数执行时间过长或者频繁触发回调导致性能问题,可以考虑优化回调函数的逻辑或者使用其他解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值