
Redis
文章平均质量分 91
走出半生仍是少年
再努力一点就够着了
展开
-
Redis内存优化之编码优化
目录一、压缩列表ziplist1.1 ziplist数据结构1.2 ziplist结构示图1.3 ziplist连锁更新1.4 ziplist复杂度二、Redis对象和编码2.1 Redis对象数据结构2.2 编码类型==2.3 转换触发机制==三、其他3.1 Redis类型检查3.2 内存回收3.3 对象共享3.4 对象空转时长四、小结一、压缩列表ziplist1.1 ziplist数据结构压缩列表是一种顺序存储的数据结构,为节约内存而设计。当存储的内容是数量比较少或者比较短的时候,Redis就会转载 2022-04-26 10:51:44 · 560 阅读 · 0 评论 -
分布式锁浅析
目录分布式锁浅析前言分布式一致性问题分布式锁需要具备哪些条件分布式锁的实现一.数据库锁1.基于Mysql锁表2.基于数据库表做悲观锁(InnoDB引擎,for update语句)3.基于数据库资源表做乐观锁,用于分布式锁二.缓存锁1.基于setnx、expire两个命令来实现2.RedLock算法三.zookeeper分布式锁总结分布式锁浅析前言随着互联网技术的不断发展,数据量的不断增加,业务逻辑日趋复杂,在这种背景下,传统的集中式系统已经无法满足我们的业务需求,分布式系统被应用在更多的场景,而在分布转载 2022-04-26 00:11:07 · 1089 阅读 · 0 评论 -
Redis实现分布式锁
目录1. 单机数据一致性2. 分布式数据一致性3. Redis实现分布式锁3.1 方式一3.2 方式二(改进方式一)3.3 方式三(改进方式二)3.4 方式四(改进方式三)3.5 方式五(改进方式四)3.6 小结在单体应用中,如果我们对共享数据不进行加锁操作,会出现数据一致性问题,我们的解决办法通常是加锁。在分布式架构中,我们同样会遇到数据共享操作问题,本文章使用Redis来解决分布式架构中的数据一致性问题。1. 单机数据一致性单机数据一致性架构如下图所示:多个可客户访问同一个服务器,连接同一个数据转载 2022-04-22 21:41:53 · 3668 阅读 · 6 评论 -
Redis小知识点汇总(无聊的时候瞄一眼)
目录1. Redis和Memcached的区别2. Redis支持哪几种数据类型?3. Redis主要消耗什么物理资源?4. Redis的全称是什么?5. Redis有哪几种数据淘汰策略?6. Redis官方为什么不提供Windows版本?7. 一个字符串类型的值能存储最大容量是多少?8. 为什么Redis需要把所有数据放到内存中?9. Redis集群方案应该怎么做?都有哪些方案?10. Redis集群方案什么情况下会导致整个集群不可用?11. MySQL里有2000w数据,redis中只存20w的数据,原创 2022-04-22 11:20:28 · 195 阅读 · 0 评论 -
Redis的线程模型
目录一、描述二、网络IO模型2.1 阻塞IO2.1.1 单线程阻塞2.1.2 多线程阻塞2.2 非阻塞2.3 IO多路复用三、NIO线程模型3.1 单Reactor单线程3.2 单Reactor多线程3.3 多Reactor多线程四、Redis的线程模型4.1 描述4.2 客户端和服务端的交互流程4.3.1 连接流程4.2.2 命令执行流程4.3 优缺点一、描述Redis是一个高性能的NoSql数据存储工具,在高并发的系统设计中,Redis基本都是必不可少的,是我们提升系统性能的一大利器。深入理解Red转载 2022-04-22 11:00:58 · 1211 阅读 · 0 评论 -
Windows单机实现主从复制、哨兵、集群
目录Redis主从Redis哨兵Redis集群(cluster)redis目录结构其他指令参考文章Redis主从复制2份redis.windows.conf配置文件,分别命名为redis.windows6380.conf和redis.windows6381.conf修改配置# redis.windows6380.conf如下:port 6380bind 127.0.0.1slaveof 127.0.0.1 6379 # 设置master服务器为6379,如果不写这一段,也可以启动服务后,在原创 2022-04-21 22:01:56 · 699 阅读 · 1 评论 -
redis的watch机制及应用
WATCH 机制原理:WATCH 机制:使用 WATCH 监视一个或多个 key , 跟踪 key 的 value 修改情况,如果有key 的 value 值在事务 EXEC 执行之前被修改了,整个事务被取消。EXEC 返回提示信息,表示事务已经失败。WATCH 机制使的事务 EXEC 变的有条件,事务只有在被 WATCH 的 key 没有修改的前提下才能执行。不满足条件,事务被取消。使用 WATCH 监视了一个带过期时间的键,那么即使这个键过期了,事务仍然可以正常执行.大多数情况下,不同的客户端会原创 2022-04-21 16:37:45 · 10364 阅读 · 2 评论 -
Redis分区详解
目录什么是数据分区一致性哈希和哈希槽1、集群分片模式2、简单哈希算法3、一致性哈希算法4、哈希槽什么是数据分区分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整体数据的一个子集。如下图:换句话说,redis分区就是将数据分布到不同的redis实例中,因此对于每个redis实例所存储的内容仅仅是所有内容的一个子集。这里重点需要关注的是数据分区规则。常见的分区规则有hash分区和顺序分区两种。一致性哈希和哈希槽1、集群分片模式如果 r原创 2022-04-16 17:01:21 · 2636 阅读 · 1 评论 -
Redis主从握手流程,你真的了解了吗?
Redis是开源的key-value存储系统,可作为数据库、缓存、消息组件。Redis的作者是Salvatore Sanfilippo(网名为antirez),他在2009年开发完成并开源了Redis。Redis由于性能极高、功能强大,迅速在业界流行,现已成为高并发系统中最常用的组件之一。Redis提供了多种类型的数据结构,如字符串(String)、散列(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等。Redis还是分布式系统,主从集群可以实现数据热备份,哨兵(S.转载 2022-04-16 15:17:10 · 232 阅读 · 0 评论 -
Redis进阶不得不了解的内存优化细节
声明:本文内容来自《Redis开发与运维》一书第八章。Redis所有的数据都在内存中,而内存又是非常宝贵的资源。对于如何优化内存使用一直是Redis用户非常关注的问题。本文让我们深入到Redis细节中,学习内存优化的技巧。分为如下几个部分:本文目录一. redisObject对象二. 缩减键值对象三. 共享对象池五. 编码优化六 控制key的数量一. redisObject对象Redis存储的所有值对象在内部定义为redisObject结构体,内部结构如下图所示。Redis存储的数据都使用red转载 2022-04-16 14:00:43 · 509 阅读 · 0 评论