首页
分类
后端开发
数据库
前端开发
学习笔记
错误合集
标签
Java
MySQL
MongoDB
Linux
IDEA
归档
海尔经典面试题
Linux清理磁盘空间
MySQL查询结果输出到文件
MongoDB数据处理
瞬间
留言板
友情链接
Java学习笔记
Java博客
累计撰写
66
篇文章
累计创建
22
个标签
累计收到
12
条评论
栏目
首页
分类
后端开发
数据库
前端开发
学习笔记
错误合集
标签
Java
MySQL
MongoDB
Linux
IDEA
归档
海尔经典面试题
Linux清理磁盘空间
MySQL查询结果输出到文件
MongoDB数据处理
瞬间
留言板
友情链接
Java学习笔记
目 录
CONTENT
以下是
Redis
相关的文章
2022-12-09
造了一个 Redis 分布锁的轮子,没想到还学到这么多东西!!!
本文围绕MySQL可重复读隔离级别下的数据一致性问题及Redis分布式锁的实现展开。首先,通过实际案例说明了在可重复读模式下,事务快照读可能导致Java层余额校验失效,进而引发余额为负的异常情况,强调了在更新时加条件判断(如`balance>0`)的必要性。接着,文章转向Redis分布式锁实现,介绍了使用`SET NX EX`命令原子加锁、用Lua脚本+`DEL`实现安全解锁,避免错解锁问题。通过`EVAL`和`EVALSHA`优化脚本执行效率,并结合Spring Boot实现锁操作。最后,指出了Redis分布式锁存在的缺陷:无法重入、锁超时释放、主从同步导致锁失效,建议通过守护线程延长锁时间或采用RedLock算法提升可靠性,同时预告下篇将详解可重入分布式锁。
2022-12-09
57
0
0
学习笔记
数据库
2021-03-26
Linux关机时出现 Redis 报错
在阿里云服务器上,若Redis设置了密码,关机时会因需输入密码关闭Redis服务而导致关机速度变慢。原因在于系统关机前尝试通过命令行工具执行`shutdown`操作,但该操作需密码认证,造成等待或失败。解决方案为修改Redis启动脚本:进入`/etc/init.d/`目录,编辑Redis服务脚本(如`redis_init_script`),将第33行的`$CLIEXEC -p $REDISPORT shutdown`替换为`killall $EXEC`,直接通过进程名终止Redis服务,无需密码验证。修改后保存并重启服务,关机过程将恢复正常速度。此方法绕过密码认证,提升关机效率,适用于类似场景下的服务管理优化。
2021-03-26
31
0
0
错误合集
2021-03-26
Redis启动报错:code=0x000005af
作者在启动Redis时遇到错误“VirtualAllocEx failed”,错误码0x000005af,经排查发现是未设置最大内存限制所致。通过在`redis.conf`配置文件中添加`maxmemory 256000000`和`maxheap 384000000`(分别设置最大内存和堆内存),解决了该问题。配置完成后,需使用`redis-server.exe redis.windows.conf`命令启动Redis,并确保指定正确的配置文件路径。此举避免了内存分配失败,确保Redis正常运行。此问题在Windows环境下较为常见,合理配置资源限制是关键。
2021-03-26
12
0
0
错误合集
2021-03-26
Redis连接错误:ERR Client sent AUTH, but no password is set
当使用Jedis或Redisson连接Redis时,若Redis未设置密码,但在配置文件中错误地配置了`password: 123456`,会抛出`ERR Client sent AUTH, but no password is set`错误。原因是客户端尝试进行身份认证,但Redis服务器未设置密码,导致认证失败。解决方案有两种:一是修改Redis配置文件`redis.conf`,添加`requirepass 你的密码`以启用密码认证;二是从根本上解决问题,即在配置文件中删除`password`项,避免客户端发送无效的认证请求。推荐采用方案二,因若Redis无密码,配置中无需显式设置密码,保持配置简洁且避免误操作。
2021-03-26
22
0
0
错误合集
鄂ICP备20003961号-3