NoSQL

详解redis分布式锁的这些坑

一、白话分布式 什么是分布式,用最简单的话来说,就是为了较低单个服务器的压力,将功能分布在不同的机器上面,本来一个程序员可以完成一个项目:需求->设计->编码->测试 但是项目多的时候,一个人也扛不住,这就需要不同的人进行分工合作了 这就...

比较几种Redis集群方案

一、概述 在Redis3.0以前的集群一般是借助哨兵sentinel工具来监控主节点的状态,如果主节点异常,则会做主从切换,将某一台slave作为master。哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况...

NestJS+Redis实现缓存步骤详解

NestJS的缓存模块天生支持Redis等缓存机制。以下通过一个示例,说明如何在NestJS中操作Redis。步骤如下: 先安装运行Redis服务,步骤参见链接 新建nestjs项目: nest new [项目名称] 安装cache相关依赖 npm ins...

Redis过期删除策略与内存淘汰策略

过期删除策略 过期删除策略: redis可以对key设置过期时间,因此要有相应的机制将已过期的键值对删除。 设置Redis中key的过期时间 (单位:秒) 1)expire key time  这是最常用的方式 2)setex key, seco...

压缩Redis里的字符串大对象操作

背景 Redis缓存的字符串过大时会有问题。不超过10KB最好,最大不能超过1MB。 有几个配置缓存,上千个flink任务调用,每个任务5分钟命中一次,大小在5KB到6MB不等,因此需要压缩。 第一种,使用gzip /** * 使用gzip压缩字符串 */...

Linux Redis 的安装步骤详解

 Linux Redis 的安装步骤详解 前言: Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(li...

redis缓存数据库中数据的方法

本文实例为大家分享了redis缓存数据库中数据的具体代码,供大家参考,具体内容如下 将数据库的数据保存到redis缓存 当第一次查询时,缓存没有对应的数据,则会查询数据库,并将数据更新到缓存当缓存中有对应的数据时,则会直接访问缓存,则不查询数据库这样在性能...

Redis的Expire与Setex区别说明

Expire 为key设置过期时间 Setex 为key设置value值,并且,设置过期时间 区别 Setex是一个原子操作 设置值,设置过期时间两个动作,会在同一时间完成 在Redis缓存中,非常实用 补充知识:redis之setnx、setex、set...

基于redis实现的点赞功能设计思路详解

前言 点赞其实是一个很有意思的功能。基本的设计思路有大致两种, 一种自然是用mysql等 数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等。 直接写入Mysql 直接写入Mysql是最...

Redis中LRU淘汰策略的深入分析

前言 Redis作为缓存使用时,一些场景下要考虑内存的空间消耗问题。Redis会删除过期键以释放空间,过期键的删除策略有两种: 惰性删除:每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。 定期删除:每隔一...