InfraPub 为您找到相关结果 23

Redis 命令、特性介绍与性能调优

本文从 Redis 的基本特性入手,通过讲述Redis的数据结构和主要命令,对 Redis 的基本功能进行直观介绍。之后概览Redis提供的高级能力,并在部署、维护、性能调优等多个方面进行进一步的介绍。本文适合使用Redis的普通开发人员,以及对Redis进行选型、架构设计和性能调优的架构设计人员。 目录 概述 Redis的数据结构和相关常用命令 数据持久化 内存管理与数据淘汰机制 Pipelining 事务与Scripting Redis性能调优 主从复制与集群分片 Redis Java客户端的选择 概述 Redis是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。 Redis支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图...阅读全文

博文 2018-10-27 10:37:55 debian.cn

Redis 官网宕机:错误提示无法连接 Redis

Redis 官网 redis.io 昨日罕见地宕机了一段时间。宕机原本不是什么新鲜事,但戏剧性的是网站的报错信息居然是连接不上 RedisRedis::CannotConnectError at / Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) ▲ 看到这,忍不住刷一句:禁止套娃! Redis 作者 Antirez 很快修复了问题,并解释了宕机的原因。原来是因为他最近在运行 redis.io 的实例上安装了 Try Redis(用于在线体验 Redis 数据库),可能是未能对 session key 进行良好的垃圾回收,从而导致内存累积,最终因为内存溢出(OOM )引发宕机。对此,Antirez 表示...阅读全文

博文 2020-03-13 13:17:06 debian.cn

Golang 面试题搜集

/blob/master/base/go-gpm.md) - [Goroutine调度策略](https://github.com/lifei6671/interview-go/blob/master/base/go-scheduler.md) - [goroutine调度器概述](https://github.com/lifei6671/interview-go/blob/master/base/go-scheduler-base.md) ## Redis基础 - [Redis 基础数据结构](https://github.com/lifei6671/interview-go/blob/master/base/redis.md) - [Redis中的底层数据结构](https...阅读全文

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

最近的互联网线上事故发生比较频繁,9月19日网上爆料出顺丰近期发生了一起线上删库事件,在这里就不介绍了。 这里分享一下最近发生在我公司的事故,以及如何避免,并且如何处理优化。 该宕机的直接原因是使用 Redis 的 keys * 命令引起的,一共造成了某个服务化项目的两次宕机。 间接原因还有很多,技术跟不上业务的发展,由每日百万量到千万级是一个大的跨进,公司对于系统优化的处理优先级不高,技术开发人手的短缺。 第一次宕机 2018年9月13日的某个点,公司某服务化项目的 RDS 数据库实例连接飙升,CPU 升到 100%,拒绝了其他应用的所有请求服务。 整个过程如下: 监控报警,显示RDS的CPU使用率达到80%以上,DBA介入,准备KILL慢SQL 1分钟内,没有发现明显阻塞的SQL...阅读全文

博文 2018-10-27 10:18:18 debian.cn

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

Redis 创始人兼核心开发者 antirez 在博客 介绍 了将在 Redis 6 提供的新功能 —— Client side caching(客户端缓存)。 antirez 表示 全新的 Redis 协议 RESP3 将是 Redis 6 中最重要的特性,并解释了他为何如此急切地改进 Redis 协议,原因主要有两个,一是因为希望能为客户端提供更多的语义化回复(semantical replies),以开发使用旧协议难以实现的功能;另一个原因也是 antirez 认为最重要的一个,实现 Client side caching(客户端缓存)功能 。 这个功能十分常见,但 Redis 尚未提供。 当使用者需要进行快速存储或快速取操作时,就需要在客户端内存中存储一小部分信息,这是为了降低程序...阅读全文

Redis 6.0.0 GA已正式发布

Redis 6 是有史以来改变最大的 Redis版本,因此即使稳定,也要小心处理,并在投入生产之前对其进行测试,以进行工作量测试。到目前为止,我们从未发现重大问题,但请务必小心。在收集错误报告时,我们将准备尽快发布Redis 6.0.1。 变化如下:除了稳定性之外,RC1和今天之间还有什么变化? 1. 在某些方面对客户端缓存进行了重新设计,尤其是放弃了缓存插槽方法,而只使用键名。在分析了替代方案之后,在其他Redis核心团队成员的帮助下,这种方法最终看起来更好。除此之外,尤其是“广播模式”,我相信它将成为该功能最流行的使用模式之一。 使用广播时,服务器不再尝试记住每个客户端请求的密钥。相反,客户端订阅密钥前缀:每当与该前缀匹配的密钥被修改时,它们就会收到通知。这意味着可广播更多消息(但仅适...阅读全文

博文 2020-05-01 09:15:09 debian.cn

SpringCloud 之外的选择:国产JBoot v1.7.1 发布

JBoot 是一个基于 JFinal 和 Undertow 开发的微服务框架。提供了 AOP、RPC、分布式缓存、限流、降级、熔断、统一配置中心、Opentracing 数据追踪、metrics 数据监控、分布式 session、代码生成器、shiro 和 jwt 安全控制、swagger api 自动生成等功能。 Jboot v1.7.1 主要更新如下: 新增:redis 添加自定义序列化配置的功能 新增:Jboot.java 添加方法 service(Class clazz, JbootrpcServiceConfig config) 方便获取 rpc service 新增:JbootController 添加 getRawObject() 方便获取 api 传过来的 json 数据...阅读全文

博文 2018-10-24 13:19:05 debian.cn

Debian 安装源 dotdeb 介绍

Debian的官方源以稳定为主,所以软件版本相对比较老。dotdeb.org的源更新比较快,里面的软件包也是最新稳定版本,可用于 Debian 的生产服务器,类似 CentOS/RHEL 发行版的 EPEL 源的角色。一些常用的软件包,均可找到较新的版本,例如: Nginx, (1.10+的版本) PHP 7.0,5.6,5.5,包括对应的扩展:php7.0-gd, apcu, imagick, mongo, Pinba, xcache, Xdebug, XHprof MySQL 5.6,Redis等 当前 Dotdeb 支持以下版本, Debian 8.x “Jessie” 和 Debian 7.x “Wheezy“ 两种 CPU 架构:amd64 和 i386 如何使用 Dotdeb...阅读全文

博文 2021-01-28 17:50:16 debian.cn

微服务网关 APISIX 发布新版本 0.9

流量,也可以处理服务间的东西向流量。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,Apache APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。 这次发布的0.9版本,带来了很多新特性: 支持使用 Tengine 来运行 APISIX增加了对开发人员更友好的高级调试模式配合 redis,实现集群内限流限速功能新增 URI 重定向插件使用全新的 jsonschema,性能提升一个数量级启用 HTTP2 并支持设置 ssl_protocols 加入 Apache APISIX 如果你希望使用修改任意配置都无需重启的 web 服务器,如果你希望使用代码简洁、云原生友好的微服务网关,那么 Apache APISIX 就是你不二的选择。 你可以加入...阅读全文

博文 2019-11-27 20:17:00 debian.cn

Red Hat Enterprise Linux 8 Beta 已发布

iptables,MySQL 8.0,MariaDB 10.3,PostgreSQL 10 和 9.6,Redis 4.0等等。主要特性有: 简化应用程序开发 —— 通过减少设置和配置工作,可以更快地编写代码 对于刚接触 Linux 的开发者来说,这是最简单的 RHEL 适用于传统和云/容器的应用程序,两者都有许多新工具 已经提供了许多工具来构建和测试应用程序 下载: 有三种方法可以访问 RHEL 8 beta,这取决于与 Red Hat 的现有关系: 当前的Red Hat开发会员可以通过Red Hat Developer下载。 如果不是开发会员,只需要在上面的链接注册一下即可,不需要费用。 如果是Red Hat Enterprise Linux的合作客户,登录Customer Portal就可以获取客户...阅读全文

博文 2018-11-17 21:01:26 debian.cn

Debian Jessie、Stretch 下安装配置 PHP7.2

Support php-uploadprogress - file upload progress tracking extension for PHP php-yaml - YAML-1.1 parser and emitter for PHP php-mongodb - MongoDB driver for PHP php-apcu - APC User Cache for PHP php-imagick - Provides a wrapper to the ImageMagick library php-ssh2 - Bindings for the libssh2 library php-redis - PHP extension for interfacing with Redis php...阅读全文

博文 2017-12-16 14:16:25 debian.cn

GitLab 12.5 稳定版发布:支持EKS集群、多云托管和环境面板等

以使用开源的 Crossplane 项目以声明方式提供云服务,该项目扩展了 Kubernetes API 以提供托管服务,包括 PostgreSQL、MySQL、Redis 和对象存储。 Crossplane 现在可以作为 GitLab 托管应用程序使用,可以安装到由 GitLab 管理的 Kubernetes 集群中,可以在标准的 GitLab 管道中或通过 Auto DevOps 使用 kubectl 声明性地设置和使用 GCP、AWS 和 Azure 的托管服务。 通过环境面板一目了然地查看环境状态 面对在生产环境中应用程序的频繁更改,在变更流程中各种开发、暂存和生产环境时,对环境变化的跟踪是个问题。GitLab 为此新增了环境面板可显示该信息,从而提供对所有组和项目中环境状态的单点访...阅读全文

如何在 Debian 中锁定软件包版本

在 Debian 或基于 Debian/Ubuntu 的 Linux 发行版系统中,有多种方法可以将软件包锁定在一个特定的版本。也就是说,可以将某个软件固定维护在指定版本,不让其随系统更新而更新。 为什么要锁定软件包,防止软件包更新呢? 通常是用户对某个软件版本有特定的需求,或更新期间、更新后可能会导致问题,所以需要维持特定的版本不进行升级。在常见的数据类服务中,这样的需求很有代表性,比如缓存Redis、数据队列RabbitMQ等。还有部分服务依赖于系统中特定的软件,比如指定的 Linux 内核版本,这时就需要锁定内核版本防止因内核升级导致服务异常。 我们这里介绍两种方式,防止软件包被更新。需要注意的是,如果软件包被其他软件所依赖,阻止其更新,可能会导致关联问题。建议将尽量少的的软件包锁定...阅读全文

博文 2019-01-09 13:19:52 debian.cn

Debian 9、RHEL 9 移除了对 MongoDB 的支持

许可,Red Hat 技术和社区外展计划经理 Tom Callaway 解释:“Fedora 认为 SSPL 是具有针对性的,它对特定类别的用户具有严重歧视性。” 此外,Debian Linux 也已经从它的发行版中删除了 MongoDB。 外界普遍认为从去年开始酝酿的开源与其它各势力的较量,到今年会发展成混战。联系一下前阵子 Confluent 宣布修改其平台部分组件的开源协议,Redis 模块协议的修改,其实目的是一样的,就是不想云厂商坐收渔翁之利。 这几位开源大佬与 MongoDB 其实可以视为开源厂商阵营;而前边提到的英国卫报可以看成是最终用户商阵营;AWS 可以归为云厂商阵营;Debian、RHEL 这一类则是操作系统层面,用于托管开源项目的阵营;当然还有最终个人用户一大阵营。 开...阅读全文

博文 2019-01-17 10:02:06 debian.cn

Kafka生产问题总结以及性能优化

消息发送端: 发送消息如果配置了重试机制,比如网络抖动时间过长导致发送端发送超时,实际broker可能已经接收到消息,但发送方会重新发送消息 消息消费端: 如果消费这边配置的是自动提交,刚拉取了一批数据处理了一部分,但还没来得及提交,服务挂了,下次重启又会拉取相同的一批数据重复处理 一般消费端都是要做消费幂等处理的,比如每条消息使用redis的setnx分布式锁,把消息放redis里,这样两次消息一样的话,第二次的消息是放不进去的。 2.1.3 消息乱序 如果发送端配置了重试机制,kafka不会等之前那条消息完全发送成功才去发送下一条消息,这样可能会出现,发送了1,2,3条消息,第一条超时了,后面两条发送成功,再重试发送第1条消息,这时消息在broker端的顺序就是2,3,1了 所以,是否一...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

Gitlab CI 配置文件 .gitlab

可用于复制/继承属性,并且是使用hidden keys来提供模版的完美示例。 下面这个例子使用了anchors和map merging。它将会创建两个jobs,test1和test2,该jobs将集成.job_template的参数,每个job都自定义脚本: .job_template: &job_definition # Hidden key that defines an anchor named 'job_definition' image: ruby:2.1 services: - postgres - redis test1: <<: *job_definition # Merge the contents of the 'job_definition' alias script...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

DNSCrypt简明教程

-proxy/cloaking-rules.txt 这个文件,在后面添加你的DNS,例如:# my customized dns www.one-domain.com x.x.x.x *.your-domain.com x.x.x.x其实我想要方案是匹配域名,然后把这些域名的DNS指向另一个DNS,这样会方便些,不过似乎 dnscrypt-proxy 还不支持。还有一个方案就是把 fallback_resolver 改成公司所提供的DNS。更多文章socketserver 源码阅读与分析functools 源码阅读与分析contextlib代码阅读Collections 源码阅读与分析Redis通信协议阅读2016年就要结束了,2017年就要开始啦!unittest 源代码阅读APUEv3 - 重读笔...阅读全文

博文 2021-02-06 19:55:08 知乎

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

。 Netpoll Netpoll 是字节跳动内部的 Golang 高性能、I/O 非阻塞的网络库,专注于 RPC 场景。 RPC 通常有较重的处理逻辑(业务逻辑、编解码),耗时长,不能像 Redis 一样采用串行处理(必须异步)。而 Go 的标准库 net 设计了 BIO(Blocking I/O) 模式的 API,为了保证异步处理,RPC 框架设计上需要为每个连接都分配一个 goroutine,这在空闲连接较多时,产生大量的空闲 goroutine,增加调度开销。此外,net.Conn 没有提供检查连接活性的 API,很难设计出高效的连接池,池中的失效连接无法及时清理,复用低效。开源社区目前缺少专注于 RPC 方案的 Go 网络库。类似的项目如:evio、gnet 等,均面向 Redis、Haproxy...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

Dubbo 2.7.0发布 分布式RPC服务框架

中心解耦,增加对 Apollo 等第三方专业配置中心的支持,更易于扩展新增应用级别的动态配置规则规则体使用更易读、易用 YAML 格式外部化配置。支持读取托管在远程的集中式配置中心的 dubbo.properties,实现应用配置的集中式管控。更精炼的注册中心 URL,进一步减轻注册中心存储和同步压力,初步实现地址和配置的职责分离。新增服务元数据中心,负责存储包括服务静态化配置、服务定义(如方法签名)等数据,默认提供 Zookeeper, Redis 支持。此功能也是 OPS 实现服务测试、Mock 等治理能力的基础。异步编程模式增强(限定于 Dubbo 协议)原生 CompletableFuture 签名接口支持服务端异步支持异步 Filter 链新增 Protobuf 序列化协议扩展新增...阅读全文

博文 2019-01-18 09:43:16 debian.cn

Polar Signals 开源 Parca 以优化代码并减少云账单 - OSCHINA

Nick Ter... 2 1 10 月数据库排行榜:Snowflake 上升三名;三巨头分数同比下降最多 DB-Engines 10 月份流行度排行已更新(基于 9 月份的整体数据变化)。 排名前十的数据库和上个月的保持一致,分别是 Oracle、MySQL、Microsoft SQL Server、PostgreSQL、MongoDB、Redis、IBM Db2、Elasticsearch、SQLite 和 Cassandra。分数方面,只有 MySQL 和 PostgreSQL 出现了明显的增长,分别增加了 7.24 和 9.47 分... 5 5 Python 3.11 Alpha 解释器现已登陆 Microsoft Store 自从微软逐步开放 Microsoft Store,不再限制开...阅读全文

博文 2021-10-09 12:23:58 中文开源技术交流社区

分布式运行时 Dapr 知多少

制以完成诸如服务发现、流量控制、重试熔断、安全访问等,而这相关的网络控制功能就是集成在Dapr的Sidecar中,以对应用透明的方式集成进来的。整体的服务调用流程如下图所示: PS:如果对Istio熟悉的同学需要注意,二者虽然都是通过Sidecar的模式进行网络控制,但二者是有有区别的。Dapr是以API的方式,而Istio是以代理的方式(不改变HTTP请求URI)。 2. State management(状态管理) 在进行微服务开发时,绕不开的话题就是服务间的状态共享、并发一致性问题。对于状态共享,你可能会说,各个服务连接到同一个Redis实例就OK了。是,但不得不考虑潜在的更新冲突的问题。Dapr 以更友好的HTTP API的方式进行状态的存储和读取,同时支持通过ETags进行并发控制...阅读全文

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

:14160;10.0.49.84:14160;10.0.49.97:14160;10.0.49.96:14159;10.0.49.89:14159;10.0.49.97:14159;10.0.49.86:14159;10.0.49.84:14159;10.0.49.86:14160;10.0.49.89:14160","key":"ss","serviceName":"Redis","spanId":"-496431972509502272","startTs":1570420237,"tag":-1,"timestamp":1570420237329,"traceId":"-2375955836973083482"} [2019-10-07 11:50:38 251 INFO...阅读全文

博文 2022-03-11 10:05:09 博客园

谷歌公开了内部管理Infra层的两个工具的Paper

域本质上是不利的。用户只有在出现问题时才会查看系统,并且通常没有一个好的调查起点。我们正在努力更好地表示系统的状态,以及为什么以及如何做出决定,以便在出现问题时改善内省。 - END - 往期回顾 ◆Redis和Mysql如何保持数据一致性 ◆软件架构可能不是你想象的那个样子 ◆容器与Pod到底有什么区别和联系? ◆如何从0到1进行电商平台订单系统的搭建? ◆SRE本质就是一个懂运维的资深开发 ◆Spring Cloud应用的优雅下线与灰度发布 ◆一文帮你彻底掌握Nginx ◆Redis 7.0 新功能新特性总览 ◆漫画 | Kubernetes 如果是个水族馆 ◆7 种提升 Spring Boot 吞吐量神技! ◆大型 SaaS 平台产品架构设计 ◆代码规范&设计模式落地之路 技术交流,请...阅读全文

博文 2023-01-08 11:23:20 CSDN博客