NoSQL

详解 Redis+Caffeine两级缓存的实现分析

V3.0版本 在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。 随着不断的发...

详解Redis Stream做消息队列

List 众所周知redis数据结构中的list的lpush与rpop可以用于常规消息队列,从集合的最左端写入,最右端弹出消费。并且支持多个生产者与多个消费者并发拿数据,数据只能由一个消费者拿到。 但这个方案并不能保证消费者消费消息后是否成功处理的问题(服...

Redis中键和数据库通用指令详解

一、Redis键(key)通用指令 可以参考菜鸟教程:Redis 键命令用于管理 redis 的键 key特征:key是一个字符串,通过key获取redis中保存的数据。 1、key基本操作 命令 功能 del key 该命令用于在 key 存在时删除 k...

Redis实现事物以及锁的方法

一、什么是Redis事物 Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 作用:串联多个命令防止别的命令插队。 二、Redis 事务命令 下表列出了 redis 事...

redis-shake同步redis数据的实现方法

前言 和很多同步工具一样,redis shake为同步redis数据而存在。在很多场景下,如果不使用同步工具,如果需要同步redis数据是一件相对繁琐的事情,可能需要编写代码,专门来做同步这件事,这就对开发提出了较高的要求,需要考虑到各种场景, 有了red...

利用Redis实现防止接口重复提交功能

前言 在划水摸鱼之际,突然听到有的用户反映增加了多条一样的数据,这用户立马就不干了,让我们要马上修复,不然就要投诉我们。 这下鱼也摸不了了,只能去看看发生了什么事情。据用户反映,当时网络有点卡,所以多点了几次提交,最后发现出现了十几条一样的数据。 只能说现...

redis 过期策略及内存回收机制解析

5.1 LRU 模式 5.2 LFU 模式 redis作为缓存的场景下,内存淘汰策略决定的redis的内存使用效率。考虑到这个很多大厂给出的“送分题”,但一般人很少能讲清楚,除非你对真的对过期策略、懒惰删除、LRU、LRU有一定的研究。 1. 过期策略 R...

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

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

Redis分布式限流组件设计与使用实例

本文主要讲解基于 自定义注解+Aop+反射+Redis+Lua表达式 实现的限流设计方案。实现的限流设计与实际使用。 1.背景 在互联网开发中经常遇到需要限流的场景一般分为两种 业务场景需要(比如:5分钟内发送验证码不超过次); 对流量大的功能流量削峰; ...

Redis 彻底禁用RDB持久化操作

Redis 禁用RDB持久化 Redis是默认开启RDB的,AOF则是默认关闭的。如果需要关闭RDB,将Redis完全作为一个缓存使用,需要修改配置项save。 开启save “”, 将save 900 1、save 300 10、save 60 1000...

详解Redis基本命令与使用场景

Redis和Memcached对比 其中有一个比较重要的区别是关于其提供的数据结构区别 Memcached 在其数据结构中仅使用字符串和整数。因此,您保存的所有内容都可以是字符串或整数。它很复杂,因为对于整数,您可以做的唯一数据操作是添加或减去它们。如果需...