NoSQL

浅谈Redis 缓存的三大问题及其解决方案

解决方案 Redis 经常用于系统中的缓存,这样可以解决目前 IO 设备无法满足互联网应用海量的读写请求的问题。 一、缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起 id 为-1 的数据或者特别大的不存在的数据。有可能是黑客利...

Redis存取序列化与反序列化性能问题详解

1. 问题场景 我们在使用Redis的时候经常会将对象序列化存储到Redis中,在取出的时候进行反序列化,如果对象过大在进行序列化和反序列化的时候会有一定性能问题。今天查看了CSRedis源码发现在Set和Get的时候是支持Byte[]类型,那么问题来了如...

详解Redis在SpringBoot工程中的综合应用

业务描述 从一个博客数据库中查询所有的文章标签,然后存储到缓存(Cache),后续查询时可从缓存获取。提高其查询性能。 准备工作 初始化数据 初始化数据库中数据,SQL脚本如下: DROP DATABASE IF EXISTS `blog`; CREATE...

Redis Cluster集群收缩主从节点详细教程

Redis Cluster集群收缩主从节点 1.Cluster集群收缩概念 当项目压力承载力过高时,需要增加节点来提高负载,当项目压力不是很大时,也希望能够将集群收缩下来,给其他项目使用,这就要用到集群收缩了 集群收缩操作和集群扩容是一样的,只需要把方向反...

Redis 命令整理并说明如何使用

连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 持久化 save:将数据同步保存到磁盘 bgsave:将数据异步保存到磁盘 lastsave:返回上次成功将数据保存到磁盘的Unix时戳 shundown:将数据同步保...

Redis 实现同步锁案例

1、技术方案 1.1、redis的基本命令 1)SETNX命令(SET if Not eXists) 语法:SETNX key value 功能:当且仅当 key 不存在,将 key 的值设为 value ,并返回1;若给定的 key 已经存在,则 SET...

基于Redis的限流器的实现(示例讲解)

1 概述 系统中的接口通常都有限流,比如 70次/秒 ,如何保证我们的接口的调用次数在超过第三方接口限流的时候快速失败呢?这时候就需要限流器了。下面是笔者用redis实现限流器的流程图。 2 代码 /** * 获取限流权限 * @param key * @...