Redis 数据倾斜

切片集群中,数据会按照一定的规则分散到不同的实例上,这样就会导致数据倾斜;

  • 数据量倾斜 :实例上的数据分布不均衡,部分实例上的数据特别多
  • 数据访问倾斜 : 某个实例上的数据就是热点数据,被频繁的访问
Read more   2021/02/27 posted in  实践

Codis VS Redis Cluster

Redis 切片集群使用多个实例保存数据,能够很好地应对大数据使用场景。而Codis 也是一种提供切片集群的解决方案

Read more   2021/02/24 posted in  实践

Redis ACID

Redis 事务包含 MULTI 和 EXEC两个命令 完成三个步骤;

  1. 受用MULTI 显示表示一个事务开始
  2. 客户端要把执行的命令发送到服务端,Redis 把命令保存在队列中并不会立即执行
  3. 客户端向服务端发送事务提交命令EXEC,然后执行队列中的命令


Read more   2021/02/23 posted in  基础

缓存异常

使用Redis为缓存是会存在一些异常问题,缓存中的数据和数据库不一致、缓存雪崩、缓存穿透、缓存击穿

Read more   2021/02/19 posted in  缓存

Redis 缓存替换策略

保证合适的性价比,缓存大小一定是小于后端数据库的数据总量,通过缓存数据淘汰策略,即通过根据一定策略筛选出“不重要”的数据,然后删除这些数据,为新空间腾出空间的策略

Read more   2021/02/04 posted in  缓存

Redis 旁路缓存

Redis 提供了高性能的数据存取功能,广泛应用于缓存场景中,可以有效的提升业务应用的响应速度,避免把高并发大大压力的请求发送给数据库。因此对于缓存的特征,Redis适用于缓存的优势,以及缓存的具体工作机制需要做到了解。

Read more   2021/02/04 posted in  缓存

Redis 缓冲区

缓冲区用一块内存空间来暂时存放命令,以免出现因为数据和命令处理速度慢于发送速度而导致数据的丢失和性能问题。Redis 客户端和服务端之间进行通信,暂存客户端命令或者服务端返回给客户端的数据结果,还有一个就是主从节点之间的数据同步,用来暂存主节点接受的写命令和数据

Read more   2021/01/29 posted in  性能

Redis 延迟响应

Redis 延迟响应会影响其他服务,带来一系列的连锁反应。因此,从问题认定,系统排查和应对方案这三个方面可分析延迟响应的问题

Read more   2021/01/28 posted in  性能

CPU 对 Redis 性能的影响

CPU架构对程序运行的影响

  1. L1、L2缓存中的指令和数据访问速度快,充分利用L1、L2缓存,可以有效缩短应用程序执行时间
  2. 在NUMA架构下,如果应用程序从一个socket上调用另一个socket上,很可能会出现远端内存访问情况,这回增加程序执行时间

Read more   2021/01/27 posted in  性能

Redis 阻塞式操作

Redis的网络IO和键值对的读写都是由主线程完成的,如果主线程操作消耗时间太长,就会引起主线程阻塞。

Read more   2021/01/27 posted in  性能

Redis 实现消息队列

消息队列要能支持组件通信消息的快速读写;消息队列的的存取需求:消息保序、处理重复消息、保证消息可靠;Redis 的 List 和 Streams 都能满足需求。

Read more   2021/01/26 posted in  实践

Redis 保存时间序列的数据

时间序列数据的写入特点就是插入数据块,读操作特点就是既有单条的记录查询,也有范围查询,还有聚合查询;针对写特点 Redis 的高性能保证写操作,针对读特点,Redis 提供了保存数据的两种方案,基于Hash 和 Sorted Set 实现,以及RedisTimeSeries 模块的实现

Read more   2021/01/26 posted in  实践

如何自定义数据类型

我们需要一个数据类型符合自己的查询但是Redis本身不支持,此时,我们之前学习的这些数据类型就无法满足需求了。那么,自定义的数据类型是一个很好的解决方法

Read more   2021/01/25 posted in  实践

GEO 实现

基于位置信息服务的LBS应用访问数据是和人或者是物的一组经纬度信息,而且要能查询相邻的经纬度范围,GEO 就适合应用这样的场景

Read more   2021/01/25 posted in  实践

Redis 集合统计模式

Redis 集合特点就是一个键对应一系列的值,适合存储一个 key 对应一个数据集合,但是集合的统计则需求不同。集合类型常见的 4 种统计模式,聚合统计、排序统计、二值状态统计和基数统计。

Read more   2021/01/23 posted in  实践

String 应用场景

String 提供了 “键 - 单值” 的存储模式,可以使用与很多场景。而且可以保存二进制字节流。但是 String 存在保存的数据内存消耗比较多的问题。

Read more   2021/01/22 posted in  实践

分片集群

启动多个Redis实例组成一个集群,按照一定的规则,把收到的数据划分成多份。每一份用一个实例保存

Read more   2021/01/20 posted in  基础

哨兵集群

哨兵集群能保证及时有哨兵实例宕机,其他哨兵也能协作完成判断主库下线,选择新主库以及通知从库和客户端

 ** 哨兵集群部署命令
 sentinel monitor <master-name> <ip> <redis-port> <quorum> 
 
Read more   2021/01/19 posted in  基础

Redis 哨兵机制

在 Redis 主从集群中,哨兵机制事项主从自动切换的关键机制,他解决了主从复制中的;判断主库是否宕机,如何选择从库,新从库如何通知从库和客户端

Read more   2021/01/19 posted in  基础

Redis 数据同步

Redis 的高可靠性通过减少数据的丢失,以及减少服务的中断实现,为保证减少数据的丢失通过AOF和RDB 保证,而减少服务中断通过增加副本冗余保证;Redis 提供了主从模式,保证数据副本的一致,主从库之间使用读写分离;对于读操作,主从都可接受,而写操作则首先主库执行然后同步到从库

Read more   2021/01/19 posted in  基础

Redis 持久化

Redis 来说,实现数据的持久化,避免从后端数据库中进行恢复,是至关重要的。目前,Redis 的持久化主要有两大机制,即 AOF(Append Only File)日志和 RDB 快照;AOF 避免数据在宕机的情况下不丢失,RDB 保证在宕机后能够快速的恢复数据

Read more   2021/01/14 posted in  基础

Redis 单线程

Redis 的单线程主要是指网路I/O和键值对的读写都是由一个线程完成的,这也是 Redis 对外提供 键值存储服务的主要流程

Read more   2021/01/14 posted in  基础

Redis 应用场景

Redis的应用场景,以及Redis数据类型的各种可能的应用方式

Read more   2021/01/14 posted in  实践

Redis 总览

Redis 是一个开源的基于内存的数据存储结构,可以用作DataBase,Cache,Message Broker;Redis 提供数据结构有 string, hash, list, set, zset, bitmaps, hyperloglogs, geospatial indexe, streams ; Redis 具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供高可用性;可以在数据结构上进行部分原子操作,如追加字符串,hash中递增值,set进行交集,并集,差集计算,在zset获取最高值;Redis 支持异步复制,快速的非阻塞同步,自动连接,在网络拆分中进行部分重新同步;以及事务、发布/订阅、Lua脚本、生存时间有限的键、LRU收回Key、自动故障转移。

Read more   2021/01/12 posted in  Redis

Redis 数据结构

Read more   2020/11/27 posted in  基础