NoSQL

Redis超详细分析分布式锁

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

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

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

Redis安全策略详解

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

Redis配置文件详解

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

解决redis批量删除key值的问题

遇到的问题: 在开发过程中,会遇到要批量删除某种规则的key,例如login_logID(ID为变量),现在需要删除"login_log*"这一类的数据,但是redis本身只有批量查询一类key值的命令keys,但是没有批量删除某一个类...

Redis学习教程之命令的执行过程详解

前言 之前写了一系列文章,已经很深入的探讨了 Redis 的数据结构,数据库的实现,key的过期策略以及 Redis 是怎么处理事件的。所以距离 Redis 的单机实现只差最后一步了,就是 Redis 是怎么处理 client 发来的命令并返回结果的,所以...

Redis主从集群切换数据丢失的解决方案

一、数据丢失的情况 异步复制同步丢失 集群产生脑裂数据丢失 1.异步复制丢失 对于Redis主节点与从节点之间的数据复制,是异步复制的,当客户端发送写请求给master节点的时候,客户端会返回OK,然后同步到各个slave节点中。 如果此时master还没...

Redis如何一键部署脚本

先将安装包拖入/opt目录 注意:这里的脚本bind修改后为 0.0.0.0 bind修改后为bind 127.0.0.1 +服务器IP在下面 #!/bin/bash #yum源 echo -e "\033[31m =====正在验证当前为仅主机还是NAT...

通过实例解析布隆过滤器工作原理及实例

布隆过滤器 布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “一定不存在或者可能存在”。 相比于传统的 List、Set、Map 等数据结构,它更高效、...

redis调用二维码时的不断刷新排查分析

一、背景和现象 项目是PHP开发的,点击登录的时候就根据随机数生成了二维码,缓存在了redis。用户用微信扫描了二维码分析出需要请求的链接,然后微信浏览器就请求了服务器,服务器通过了随机数认证。正当请求了之后,服务器就拿服务器找出来的的APPID去微信服务...

Centos 7 如何安装Redis(推荐)

话不多说,直接开始。 一、安装gcc依赖 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装。 $ yum install -y gcc 二、下载并解压安装包 $ wget http:...