NoSQL

Redis全局ID生成器的实现

全局ID生成器,是一种在分布式系统下用来生成全局唯一ID的工具,一般满足下列特性: 唯一性:确保ID是唯一的,不可重复 递增性:确保是整体逐渐增大的,这样有利于数据库创建索引 安全性:ID的规律性不是特别的明显,防止根据ID号猜测其他的ID,确保安全性 高...

Redis 2.8-4.0过期键优化过程全纪录

前言 之前 白馨(陌陌-技术保障部存储工程师 )在Redis技术交流群里,总结了一下Redis从2.8~4.0关于过期键相关的fix记录,非常有帮助,但有些东西未尽详细,本文将进行详细说明。 先从一个问题来看,运行环境如下: Redis: 2.8.19 d...

Windows下redis下载、redis安装及使用教程

redis 简介   简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持...

为何Redis使用跳表而非红黑树实现SortedSet

数据结构定义 搜索算法 插入和删除算法 插入 删除 知道跳表(Skip List)是在看关于Redis的书的时候,Redis中的有序集合使用了跳表数据结构。接着就查了一些博客,来学习一下跳表。后面会使用Java代码来简单实现跳表。 什么是跳表 跳表由Wil...

redis实现分布式的方法总结

一 为什么使用 Redis 在项目中使用 Redis,主要考虑两个角度:性能和并发。如果只是为了分布式锁这些其他功能,还有其他中间件 Zookpeer 等代替,并非一定要使用 Redis。 性能: 如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动...

利用Redis实现SQL伸缩的方法简介

缓解行竞争 我们在Sentry开发的早起采用的是sentry.buffers。 这是一个简单的系统,它允许我们以简单的Last Write Wins策略来实现非常有效的缓冲计数器。 重要的是,我们借助它完全消除了任何形式的耐久性 (这是Sentry工作的一...

Redis教程(十二):服务器管理命令总结

一、概述:     Redis在设计之初就被定义为长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动进程的情况下立即生效。即便是将当前的持久化模式从AOF切换到RDB也无需重启。   &n...

分割超大Redis数据库例子

薄荷 App 上的伙伴功能大量使用了内存数据库 Redis,随着数据量的快速增长,Redis 膨胀得很快,已经接近 12 GB规模,这些数据全部放在单个 Redis 实例中。单个巨大 Redis 实例有如下几个坏处: 1.首先,需要一台内存很大的机器。Re...

Redis偶发连接失败案例实战记录

前言 本文主要给大家介绍了关于Redis偶发连接失败的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 【作者】 张延俊:携程技术保障中心资深DBA,对数据库架构和疑难问题分析排查有浓厚的兴趣。 寿向晨:携程技术保障中心高级DBA,...

redis事务常用操作详解

事务 MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务相关的命令。事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他...

Redis实战之百度首页新闻热榜的实现代码

目标  利用Redis实现类似百度首页新闻热榜功能。 功能 新闻排行榜以热度为指标降序排序,这里假设热度就是评论数量且统计的热度时间范围以当天为准;根据新闻的时效性,这里假设每15分钟刷新一次新闻榜单。 分析 Zset数据类型:一个有序集合最多 ...