随笔分类 -  互联网-redis

摘要:Redis实现的分布式锁 # 对资源key加锁,key不存在时创建,并且设置,10秒自动过期 SET key value EX 10 NX # 删除key DEL key NX的作用 NX参数是为了保证当分布式锁不存在时,只有一个client能写入次key成功,获取到锁。 分布式锁的第一核心要素就是 阅读全文
posted @ 2022-02-23 22:03 hanease 阅读(2397) 评论(0) 推荐(1) 编辑
摘要:Redisson实现分布式锁(1) 原理 有关Redisson作为实现分布式锁,总的分3大模块来讲。 1、Redisson实现分布式锁原理 2、Redisson实现分布式锁的源码解析 3、Redisson实现分布式锁的项目代码(可以用于实际项目中) 本文只介绍Redisson如何实现分布式锁的原理。 阅读全文
posted @ 2022-02-22 13:53 hanease 阅读(1631) 评论(0) 推荐(0) 编辑
摘要:为什么要持久化 Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘中,那么一旦服务器进程退出,服务器的数据库状态就会消失(即断电即失)。为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。 Redi 阅读全文
posted @ 2022-02-20 21:22 hanease 阅读(197) 评论(0) 推荐(0) 编辑
摘要:高可用有两个含义:一是数据尽量不丢失,二是保证服务尽可能可用。 AOF 和 RDB 数据持久化保证了数据尽量不丢失,那么多节点来保证服务尽可能提供服务。 一般在实际生产中,服务不会部署成单节点,主要是有三个原因. 容易出现单点故障,导致服务不可用 单节点处理所有的请求,吞吐量有限 单节点容量有限 为 阅读全文
posted @ 2022-02-20 21:22 hanease 阅读(303) 评论(0) 推荐(0) 编辑
摘要:前言 如果问你redis有哪些数据结构,你肯定可以一口气说出五种基本数据结构: String(字符串)、Hash(哈希)、List(列表)、Set(集合)、zset(有序集合) 你或许还知道它还有三种特殊的数据结构类型:Geospatial、Hyperloglog、Bitmap。 但如果问你在实际项 阅读全文
posted @ 2022-02-20 21:21 hanease 阅读(1175) 评论(0) 推荐(1) 编辑
摘要:Redis作为高性能非关系型(NoSQL)的键值对数据库,受到了广大用户的喜爱和使用,大家在项目中都用到了Redis来做数据缓存,但有些问题我们在使用中不得不考虑,其中典型的问题就是:缓存穿透、缓存雪崩、缓存击穿和与关系型数据库的一致性。 一、缓存穿透 1、概念 缓存穿透是指查询一个缓存和数据库不存 阅读全文
posted @ 2022-02-20 21:20 hanease 阅读(81) 评论(0) 推荐(0) 编辑
摘要:分布式 基于Redis进行接口IP限流 场景 为了防止我们的接口被人恶意访问,比如有人通过JMeter工具频繁访问我们的接口,导致接口响应变慢甚至崩溃,所以我们需要对一些特定的接口进行IP限流,即一定时间内同一IP访问的次数是有限的。 实现原理 用Redis作为限流组件的核心的原理,将用户的IP地址 阅读全文
posted @ 2022-02-20 21:10 hanease 阅读(248) 评论(0) 推荐(0) 编辑
摘要:Redis事务 Redis 通过 MULTI 、EXEC、 DISCARD 和 WATCH 四个命令来实现事务功能。 MULTI :标记一个事务块的开始。 EXEC: 执行所有事务块内的命令。 DISCARD :取消事务,放弃执行事务块内的所有命令。 WATCH key [key ...] :监视一 阅读全文
posted @ 2022-02-20 21:03 hanease 阅读(63) 评论(0) 推荐(0) 编辑
摘要:数据持久化 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件) (1)RDB持久化方式是在一个特定的间隔保存某个时间点的一个数据快照。(默认模式) (2)以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,red 阅读全文
posted @ 2022-02-20 20:54 hanease 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、全局key操作 --删 flushdb --清空当前选择的数据库 del mykey mykey2 --删除了两个 Keys --改 move mysetkey 1 --将当前数据库中的 mysetkey 键移入到 ID 为 1 的数据库中 rename mykey mykey1 --将 myk 阅读全文
posted @ 2022-02-20 20:52 hanease 阅读(63) 评论(0) 推荐(0) 编辑
摘要:我们说 Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。本篇博客我们就将介绍这些数据类型的详细使用以及顺带介绍Redis系统的相关命令用法。 注 阅读全文
posted @ 2022-02-15 20:00 hanease 阅读(2419) 评论(0) 推荐(0) 编辑
摘要:Redis调研及使用文档 1 引言随着业务的增长和产品的完善,急速增长的数据给Oracle数据库带来了很大的压力,而随着我们对产品服务质量要求的提高,传统的数据查询方式已无法满足我们需求。为此我们需要寻找另外一种模式来提高数据查询效率。NoSQL内存数据库是最近兴起的新型数据库,它的特点就是把数据放 阅读全文
posted @ 2022-02-15 19:43 hanease 阅读(448) 评论(0) 推荐(0) 编辑
摘要:本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 缓存概述 缓存概述 缓存的分类 缓存主要分为四类,如下图: 缓存的分类 CDN 缓存 CDN(Content Delivery Network 内容分发网络)的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相 阅读全文
posted @ 2022-02-04 20:24 hanease 阅读(357) 评论(0) 推荐(0) 编辑
摘要:Redis的内存回收原理,及内存过期淘汰策略详解 Redis内存回收机制 Redis的内存回收主要围绕以下两个方面: 1.Redis过期策略:删除过期时间的key值 2.Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据 Redis的过期策略和内存淘汰策略不是一件事,实际研发中 阅读全文
posted @ 2022-01-27 22:01 hanease 阅读(71) 评论(0) 推荐(0) 编辑
摘要:HBase HBase 是 Apache Hadoop 中的一个子项目,属于 bigtable 的开源版本,所实现的语言为Java(故依赖 Java SDK)。HBase 依托于 Hadoop 的 HDFS(分布式文件系统)作为最基本存储基础单元。 HBase在列上实现了 BigTable 论文提到 阅读全文
posted @ 2021-12-14 22:13 hanease 阅读(460) 评论(0) 推荐(0) 编辑