摘要: 为什么要持久化 Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘中,那么一旦服务器进程退出,服务器的数据库状态就会消失(即断电即失)。为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。 Redi 阅读全文
posted @ 2022-02-20 21:22 hanease 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 高可用有两个含义:一是数据尽量不丢失,二是保证服务尽可能可用。 AOF 和 RDB 数据持久化保证了数据尽量不丢失,那么多节点来保证服务尽可能提供服务。 一般在实际生产中,服务不会部署成单节点,主要是有三个原因. 容易出现单点故障,导致服务不可用 单节点处理所有的请求,吞吐量有限 单节点容量有限 为 阅读全文
posted @ 2022-02-20 21:22 hanease 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 前言 如果问你redis有哪些数据结构,你肯定可以一口气说出五种基本数据结构: String(字符串)、Hash(哈希)、List(列表)、Set(集合)、zset(有序集合) 你或许还知道它还有三种特殊的数据结构类型:Geospatial、Hyperloglog、Bitmap。 但如果问你在实际项 阅读全文
posted @ 2022-02-20 21:21 hanease 阅读(1118) 评论(0) 推荐(1) 编辑
摘要: Redis作为高性能非关系型(NoSQL)的键值对数据库,受到了广大用户的喜爱和使用,大家在项目中都用到了Redis来做数据缓存,但有些问题我们在使用中不得不考虑,其中典型的问题就是:缓存穿透、缓存雪崩、缓存击穿和与关系型数据库的一致性。 一、缓存穿透 1、概念 缓存穿透是指查询一个缓存和数据库不存 阅读全文
posted @ 2022-02-20 21:20 hanease 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 分布式 基于Redis进行接口IP限流 场景 为了防止我们的接口被人恶意访问,比如有人通过JMeter工具频繁访问我们的接口,导致接口响应变慢甚至崩溃,所以我们需要对一些特定的接口进行IP限流,即一定时间内同一IP访问的次数是有限的。 实现原理 用Redis作为限流组件的核心的原理,将用户的IP地址 阅读全文
posted @ 2022-02-20 21:10 hanease 阅读(235) 评论(0) 推荐(0) 编辑
摘要: Redis事务 Redis 通过 MULTI 、EXEC、 DISCARD 和 WATCH 四个命令来实现事务功能。 MULTI :标记一个事务块的开始。 EXEC: 执行所有事务块内的命令。 DISCARD :取消事务,放弃执行事务块内的所有命令。 WATCH key [key ...] :监视一 阅读全文
posted @ 2022-02-20 21:03 hanease 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 数据持久化 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件) (1)RDB持久化方式是在一个特定的间隔保存某个时间点的一个数据快照。(默认模式) (2)以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,red 阅读全文
posted @ 2022-02-20 20:54 hanease 阅读(48) 评论(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 阅读(60) 评论(0) 推荐(0) 编辑