数据库

Redis超详细分析分布式锁

分布式锁 为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchronized)进行互斥控制。但是,随着业务发展的需要,原单体单机部署的系...

一文详解MySQL Binlog日志与主从复制

1. Binlog日志的介绍 Binlog是Binary log的缩写,即二进制日志。Binlog主要有三个作用:持久化时将随机IO转化为顺序IO,主从复制以及数据恢复。本文重点主从复制相关的问题。 Binlog日志由一个索引文件与很多日志文件组成,每个日...

利用Redis的有序集合实现排行榜功能实例代码

前言 游戏中存在各种各样的排行榜,比如玩家的等级排名、分数排名等。玩家在排行榜中的名次是其实力的象征,位于榜单前列的玩家在虚拟世界中拥有无尚荣耀,所以名次也就成了核心玩家的追求目标。 一个典型的游戏排行榜包括以下常见功能: 能够记录每个玩家的分数; 能够对...

Redis安全策略详解

缓存穿透 高并发情况下查询一个不存在的key 产生的背景(原因): 缓存穿透是指使用不存在的key进行大量的高并发查询,导致缓存无法命中,每次请求都要都要穿透到后端数据库查询,使得数据库的压力非常大,甚至导致数据库服务压死; 解决方案: 接口层实现api限...

Redis配置文件详解

如果认为Redis是一个key value存储, 可以使用它来代替MySQL;如果认为它是一个可以持久化的cache, 可能只是用它保存一些频繁访问的临时数据(代替Memcached);除此之外,还可以把Redis当做一个轻量级的消息队列使用,因为它内置就...

干涉MySQL优化器使用hash join的方法

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 前言 数据库的优化器相当于人类的大脑,大部分时候都能做出正确的决策,制定正确的执行计划,走出一条高效的路,但是...