摘要本分旨在快速理解分布锁的实现原理,以及不同实现方式存在的问题,阅读此文需要对mysql、zk、redis有一定的了解。 锁在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发 ...
分类:
其他好文 时间:
2020-07-15 10:47:05
阅读次数:
74
Memcached安装与配置 准备 从http://memcached.org/下载最新版的memcached(memcached-1.4.15.tar.gz)wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz 从ht ...
分类:
系统相关 时间:
2020-07-15 01:16:38
阅读次数:
77
楔子 在某些极端情况下,软件为了能正常运行会做一些保护性的措施,比如运行内存超过最大值之后的处理,以及键值过期之后的处理等等,都属于此类问题,而专业而全面的回答这些问题恰好是一个工程师所具备的优秀品质。 那么下面我们就来探讨一下。 Redis内存用完了会怎么办? Redis 的内存用完指的是 Red ...
分类:
其他好文 时间:
2020-07-15 01:01:58
阅读次数:
105
1、Master 最好不要写内存快照,如果 Master 写内存快照,save 命令调度 rdbSave 函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性 暂停服务 2、如果数据比较重要,某个 Slave 开启 AOF 备份数据,策略设置为每秒同步一 3、为了主从复制的速度和连 ...
分类:
其他好文 时间:
2020-07-14 21:53:09
阅读次数:
87
# 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g = ...
分类:
其他好文 时间:
2020-07-14 18:18:50
阅读次数:
52
是什么 复制 在 Redis 复制的基础上,使用和配置主从复制非常简单,能使得从 Redis 服务器(下文称 slave)能精确得复制主 Redis 服务器(下文称 master)的内容。每次当 slave 和 master 之间的连接断开时, slave 会自动重连到 master 上,并且无论这 ...
分类:
其他好文 时间:
2020-07-14 18:15:55
阅读次数:
59
先拿 setnx 来争抢锁,抢到之后,再用 expire 给锁加一个过期时间防止锁忘记了 释放。 这时候对方会告诉你说你回答得不错,然后接着问如果在 setnx 之后执行 expire 之前进程意外 crash 或者要重启维护了,那会怎么样? 这时候你要给予惊讶的反馈:唉,是喔,这个锁就永远得不到释 ...
分类:
其他好文 时间:
2020-07-14 16:24:40
阅读次数:
96
一。pom.xml 导入 redis <!-- Redis依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></d ...
分类:
编程语言 时间:
2020-07-14 16:22:56
阅读次数:
48
事务 MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务相关的命令。事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原 ...
分类:
其他好文 时间:
2020-07-14 16:18:19
阅读次数:
84
GitHub地址:https://github.com/xueqiu/rdr 一、简介 RDR 是解析 redis rdbfile 工具。 分析 Redis 内存中哪个 Key 值占用的内存最多 分析出 Redis 内存中哪一类开头的 Key 占用最多,有利于内存优化 Redis Key 值以 Da ...
分类:
其他好文 时间:
2020-07-14 15:01:08
阅读次数:
109