04 2021 档案

摘要:Redis所有的数据都存在内存中,当前内存虽然越来越便宜,但跟廉价的硬盘相比成本还是比较昂贵,因此如何高效利用Redis内存变得非常重要。高效利用Redis内存首先需要理解Redis内存消耗在哪里,如何管理内存,最后才能考虑如何优化内存。 1.内存消耗 首先需要掌握Redis内存消耗在哪些方面。有些 阅读全文
posted @ 2021-04-29 18:47 小家电维修 阅读(279) 评论(0) 推荐(0)
摘要:1. 浮动目录栏 1.1 页面定制CSS代码 /* 设置签名格式 定制css样式 */ #MySignature { display: none; background-color: #FAEBD7; border-radius: 10px; box-shadow: 1px 1px 1px #6B6 阅读全文
posted @ 2021-04-27 20:40 小家电维修 阅读(90) 评论(0) 推荐(0)
摘要:Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的。当Redis用于高并发场景时,这条线程就变成了它的生命线。如果出现阻塞,哪怕是很短时间,对于我们的应用来说都是噩梦。导致阻塞问题的场景大致分为内在原因和外在原因: □ 内在原因包括: 不合理地使用API或数据结构、CPU饱和、持久 阅读全文
posted @ 2021-04-27 19:02 小家电维修 阅读(635) 评论(0) 推荐(0)
摘要:1.配置 1.1 建立复制 参与复制的Redis实例划分为主节点(master) 和从节点(slave)。默认情况下,Redis都是主节点。每个从节点只能有一个主节点,而主节点可以同时具有多个从节点。复制的数据流是单向的,只能由主节点复制到从节点。配置复制的方式有以下三种: 1) 在配置文件中加入s 阅读全文
posted @ 2021-04-27 11:59 小家电维修 阅读(285) 评论(0) 推荐(0)
摘要:1.RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 1.1 触发机制 手动触发分别对应save和bgsave命令: □ save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用 阅读全文
posted @ 2021-04-26 19:29 小家电维修 阅读(324) 评论(0) 推荐(0)
摘要:1.客户端管理 Redis提供了客户端相关API对其状态进行监控和管理,本节将深入介绍各个API的使用方法以及在开发运维中可能遇到的问题。 1.1 客户端API 1.client list client list命令能列出与Redis服务端相连的所有客户端连接信息,例如下面代码是在一个Redis实例 阅读全文
posted @ 2021-04-25 23:55 小家电维修 阅读(262) 评论(0) 推荐(0)
摘要:1. Pipeline 1.1 Pipeline概念 Redis客户端执行一条命令分别为如下4个过程: 1) 发送命令 2) 命令排队 3) 命令执行 4) 返回结果 其中1)+4)称为Round Trip Time(RTT,往返时间)。 Redis提供了批量操作命令(例如mget、mset等),有 阅读全文
posted @ 2021-04-23 19:45 小家电维修 阅读(1269) 评论(0) 推荐(0)
摘要:Redis提供了redis-cli、redis-server、redis-benchmark 等shell工具。 1.redis-cli详解 了解redis-cli的全部参数,可以执行redis-cli -help命令来进行查看,下面将对一些重要参数的含义以及使用场景进行说明。 1.-r -r (r 阅读全文
posted @ 2021-04-23 14:44 小家电维修 阅读(148) 评论(0) 推荐(0)
摘要:1. Redis的作用 1.1 Redis可以做什么 1.缓存:缓存机制几乎在所有的大型网站都有使用,合理地使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力。Redis提供了键值过期时间设置,并且也提供了灵活控制最大内存和内存溢出后的淘汰策略。可以这么说,一个合理的缓存设计能够 阅读全文
posted @ 2021-04-22 19:55 小家电维修 阅读(184) 评论(0) 推荐(0)
摘要:Redis借鉴了 Linux操作系统对于版本号的命名规则:版本号第二位如果是奇数.则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本。所以我们在生产环境通常选取偶 阅读全文
posted @ 2021-04-20 20:26 小家电维修 阅读(162) 评论(0) 推荐(0)
摘要:公司项目中有主备CDN存在,由于阿里云以及腾讯云的预热功能不支持自动(一般是云函数),所以就根据云厂商给的脚本稍作更改,手动传入数据来进行预热。 由于之前部署在centos7.7系统python2.7.5上,脚本可以正常运行,由于某些原因,机器要进行下线,导致必须迁移脚本。为了节省成本,决定复用线上 阅读全文
posted @ 2021-04-20 15:37 小家电维修 阅读(2720) 评论(0) 推荐(0)
摘要:sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。本文主要以CentOS 6. 阅读全文
posted @ 2021-04-16 21:43 小家电维修 阅读(204) 评论(0) 推荐(0)
摘要:1.一致性哈希算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在 阅读全文
posted @ 2021-04-16 14:57 小家电维修 阅读(102) 评论(0) 推荐(0)
摘要:1.事务的四大特性 原子性(Atomicity):化学中的原子指不可再分的基本微粒,数据库中原子性强调事务是一个不可分割的整体,事务开始后所有操作要么全部成功,要么全部失败,不可能停滞在中间某个环节。如果事务执行过程中出错就会回滚到事务开始前的状态,所有的操作就像没有发生一样不会对数据库有任何影响。 阅读全文
posted @ 2021-04-14 13:03 小家电维修 阅读(508) 评论(0) 推荐(0)
摘要:1. 简单回顾 Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能。 本文将针对Kafka性能方面进行简单分析,首先简单介绍一下Kafka的架 阅读全文
posted @ 2021-04-13 18:22 小家电维修 阅读(219) 评论(0) 推荐(0)
摘要:Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低 阅读全文
posted @ 2021-04-13 16:48 小家电维修 阅读(352) 评论(0) 推荐(0)
摘要:1.起因 公司游戏项目上线第一天,出现单个区服异常宕机的问题,根据日志排查下来,连接数据的时候报错,后面排查是因为有玩家插入Emoji 等表情导致无法存储如数据库,数据库字符集编码为utf8,后续改成utf8mb4就可以存储emoji等表情了 所以今天来解析一下utf8和utf8mb4的区别。 2. 阅读全文
posted @ 2021-04-13 14:56 小家电维修 阅读(367) 评论(0) 推荐(0)
摘要:1.介绍 centos中service命令与/etc/init.d的关系 service httpd start 其实是启动了存放在/etc/init.d目录下的脚本。 但是centos7的服务管理改规则了。CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemc 阅读全文
posted @ 2021-04-12 21:09 小家电维修 阅读(385) 评论(0) 推荐(0)
摘要:名词介绍 吞吐量:单位时间内处理的请求数(通常所说的TPS,QPS,其实都是吞吐量的一种衡量方式) 响应时间:处理每个请求所需的时间 并发数:服务器同时并行处理的请求个数 以上三者关系:并发数 = 吞吐量 * 响应时间 举例:一个单机单线程的系统,假设处理每个请求的时间是1ms,也就是响应时间是1m 阅读全文
posted @ 2021-04-12 18:21 小家电维修 阅读(257) 评论(0) 推荐(0)
摘要:1.概念 网站流量是指网站的访问量,用来描述访问网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等。 网站访问量的常用衡量标准:独立访客(UV) 和 综合浏览量(PV),一般 阅读全文
posted @ 2021-04-12 16:43 小家电维修 阅读(853) 评论(0) 推荐(0)
摘要:1.集群角色及架构 在搭建集群之前,需要首先了解几个概念:路由,分片、副本集、配置服务器等 mongos,数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要在应用程序添加一个路由选择器,mongos自己就是一个请求分发中心,它负责把对应的数据请求请求转发到对应的shard服务器上。在 阅读全文
posted @ 2021-04-11 22:51 小家电维修 阅读(365) 评论(0) 推荐(0)
摘要:由于3.X的文档是在3.X当前最新版本前记录,所以这里列出一些常用的操作,比如建立库,删除库,等一些格式,然后在描述开启远程和创建用户的一些区别,以及讲解2.X和3.X配置文件区别。 1. Mongo配置文件及其它操作 MongoDB2.6开始推荐一种基于YAML格式的配置文件,并且仍然兼容之前的配 阅读全文
posted @ 2021-04-10 18:31 小家电维修 阅读(295) 评论(0) 推荐(0)
摘要:1. 介绍 由于mongodb默认没有设置密码访问,而且mongodb的访问权限设计,必须使用有权限的用户给每个库设置一个用户,才能使用,且2.X版本与3.X版本区别有点大,所以要注意以下几点。 1.mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。 2.切换到admin数 阅读全文
posted @ 2021-04-10 15:08 小家电维修 阅读(979) 评论(0) 推荐(0)
摘要:1.Redis支持哪几种数据类型? 支持多种类型的数据结构 1.string:最基本的数据类型,二进制安全的字符串,最大512M。 2.list:按照添加顺序保持顺序的字符串列表。 3.set:无序的字符串集合,不存在重复的元素。 4.sorted set:已排序的字符串集合。 5.hash:key 阅读全文
posted @ 2021-04-07 21:06 小家电维修 阅读(121) 评论(0) 推荐(0)
摘要:1. 位与字节 1个字节(byte)等于8个位(bit)。(计算机常识)。 2. string与bitmap Redis里的bitmap是属于string这个数据类型里的。可以help进行查看bit相关api。 3. bitmap的api 3.1 setbit 稍微解释下,setbit 三个参数,第 阅读全文
posted @ 2021-04-07 20:16 小家电维修 阅读(155) 评论(0) 推荐(0)
摘要:1. 前言 当我们需要分布式系统提供更强的性能时,该怎样扩展系统呢?什么时候该加机器?什么时候该重构代码?扩容时,究竟该选择哈希算法还是最小连接数算法,才能有效提升性能? 在面对 Scalability 可伸缩性问题时,我们必须有一个系统的方法论,才能应对日益复杂的分布式系统。这一讲我将介绍 AKF 阅读全文
posted @ 2021-04-07 17:46 小家电维修 阅读(203) 评论(0) 推荐(0)
摘要:1. 什么是CAP 是一种定理,多用于描述分布式架构,CAP这三个字母对应三种理念,且这三种理念只能两两组合,不能CAP三种理念同时共存(为什么?下面说)。 C:Consisteny(一致性) A:Availability(可用性) P:Partition Tolerance(分区容错性) 2. 细 阅读全文
posted @ 2021-04-07 16:55 小家电维修 阅读(2821) 评论(0) 推荐(0)
摘要:公司项目压测过程中,使用redis作为缓存系统,发现压测性能无法提升,排查后发现,redis有大量的慢查询,甚至有的慢查询在3秒左右,由于单线程的原因,导致压测性能一直无法提升,最后发现是研发的代码查询时全部使用“*”来匹配,导致查询过慢,所以这里借鉴大佬的文档作一次记录。 1. 慢查询分析 许多存 阅读全文
posted @ 2021-04-06 19:54 小家电维修 阅读(180) 评论(0) 推荐(0)
摘要:1. 需求由来 1.Redis高并发的问题 Redis缓存的高性能有目共睹,应用的场景也是非常广泛,但是在高并发的场景下,也会出现问题:缓存击穿、缓存雪崩、缓存和数据一致性,以及今天要谈到的缓存并发竞争。 这里的并发指的是多个redis的client同时set key引起的并发问题。 2.出现并发设 阅读全文
posted @ 2021-04-06 18:37 小家电维修 阅读(515) 评论(0) 推荐(0)
摘要:1.缓存雪崩 数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。 比如一个雪崩的简单过程 1.redis集群大面积故障 2.缓存失效,但依然大量请求访问缓存服务redis 3.redis大量失效后,大量请求转向到mysql数据库 阅读全文
posted @ 2021-04-06 17:47 小家电维修 阅读(201) 评论(0) 推荐(0)
摘要:1. Redis的高并发和快速的原因 1.redis是基于内存的,内存的读写速度非常快; 2.redis是单线程的,省去了很多上下文切换线程的时间; 3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、 阅读全文
posted @ 2021-04-02 23:16 小家电维修 阅读(432) 评论(0) 推荐(0)
摘要:具体参考官方链接https://redis.io/topics/partitioning,在redis3.0之前,分片由一些其它方式完成,redis3.0只有加入了集群的功能。 阅读全文
posted @ 2021-04-01 22:01 小家电维修 阅读(63) 评论(0) 推荐(0)
摘要:本章将介绍3种非常有价值的降低Redis内存占用的方法。降低Redis的内存占用有助于减少创建快照和加载快照所需的时间、提升载入AOF文件和重写AOF文件时的效率、缩短从服务器进行同步所需的时间,并且能让Redis存储更多的数据而无需添加额外的硬件。 本章首先会介绍如何使用Redis的短数据结构来更 阅读全文
posted @ 2021-04-01 19:22 小家电维修 阅读(117) 评论(0) 推荐(0)