NoSQL

Redis列表类型的常用命令小结

列表类型介绍 列表类型也是一个我们很长要用到的一个类型。比如我们发博客,要用到博客列表。如果没有列表我们就只能遍历键来获取所有文章或一部分文章了,这个语法是keys,但是这个命令需要遍历数据库中的所有键,处于性能方面的考虑,在生产环境是不推荐使用的。 列表...

Redis处理高并发机制原理及实例解析

1.Redis是基于内存的,内存的读写速度非常快; 2.Redis是单线程的,省去了很多上下文切换线程的时间; 3.Redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中...

Redis数据过期策略的实现详解

  本文对Redis的过期机制简单的讲解一下   讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存session,又或者只存放日行情股票数据)那么就会出现一...

redis使用不当导致应用卡死bug的过程解析

top jstack 查看堆内存 执行thread命令  首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现...

Redis精确去重计数方法(咆哮位图)

前言 如果要统计一篇文章的阅读量,可以直接使用 Redis 的 incr 指令来完成。如果要求阅读量必须按用户去重,那就可以使用 set 来记录阅读了这篇文章的所有用户 id,获取 set 集合的长度就是去重阅读量。但是如果爆款文章阅读量太大,set 会浪...

Centos7.3安装Redis4.0.6详细图文教程

首先进入待安装的目录: wget获取安装包 解压安装包 安装gcc环境编译依赖 对解压的安装包进行编译 编译后产生src文件夹,里面包含常用的redis-cli,redis-server,redis-check-aof,redis-check-rdb,re...

Redis分布式锁如何实现续期

Redis分布式锁如何续期 Redis分布式锁的正确姿势 据肥朝了解,很多同学在用分布式锁时,都是直接百度搜索找一个Redis分布式锁工具类就直接用了.关键是该工具类中还充斥着很多System.out.println();等语句.其实Redis分布式锁比较...

如何在centos中安装redis插件bloom-filter

前言 linux上安装redis就不说了,主要说redis安装插件布隆过滤器。 布隆过滤器:一种数据结构,是由一串很长的二进制向量组成,可以将其看成一个二进制数组。既然是二进制,那么里面存放的不是0,就是1,但是初始默认值都是0。 如下所示: 步骤: 1....

Spring Boot 整合Redis 实现优惠卷秒杀 一人一单功能

一、什么是全局唯一ID ⛅全局唯一ID 在分布式系统中,经常需要使用全局唯一ID查找对应的数据。产生这种ID需要保证系统全局唯一,而且要高性能以及占用相对较少的空间。 全局唯一ID在数据库中一般会被设成主键,这样为了保证数据插入时索引的快速建立,还需要保持...

浅谈redis采用不同内存分配器tcmalloc和jemalloc

我们知道Redis并没有自己实现内存池,没有在标准的系统内存分配器上再加上自己的东西。所以系统内存分配器的性能及碎片率会对Redis造成一些性能上的影响。 在Redis的 zmalloc.c 源码中,我们可以看到如下代码: /* Double expans...

Redis Stream类型的使用详解

一、背景 最近在看redis这方面的知识,发现在redis5中产生了一种新的数据类型Stream,它和kafka的设计有些类似,可以当作一个简单的消息队列来使用。 二、redis中Stream类型的特点 是可持久化的,可以保证数据不丢失。 支持消息的多播、...