Redis

StackExchange.Redis timeout

浪子不回头ぞ 提交于 2021-02-06 10:07:12
问题 Production environment is on Azure, using Redis Cache Standard 2.5GB . Example 1 System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> StackExchange.Redis.RedisTimeoutException: Timeout performing SETNX User.313123, inst: 49, mgr: Inactive, err: never, queue: 0, qu: 0, qs: 0, qc: 0, wr: 0, wq: 0, in: 0, ar: 0, clientName: PRD-VM-WEB-2, serverEndpoint: Unspecified/Construct3.redis.cache.windows.net:6380, keyHashSlot: 15649, IOCP:

Redis - Using Incr value in a transaction

筅森魡賤 提交于 2021-02-06 09:20:43
问题 Is it possible to use multi.incr(value) with multi.hmset ? I mean: var name = 'Josh'; var multi = client.multi(); multi.incr('id'); // incr => 1 multi.hmset('user:' + <need incr value here>, 'username', name); // I want multi.hmset('user:1', 'username', 'Josh'); multi.exec(function(err,data){ .. }); My objective is to increment 'id', and then set it to a user id in a transaction. I have read, that i need to do client.watch('id') , but i don't understand how to use it. PD: Please, post your

Redis - Using Incr value in a transaction

戏子无情 提交于 2021-02-06 09:19:34
问题 Is it possible to use multi.incr(value) with multi.hmset ? I mean: var name = 'Josh'; var multi = client.multi(); multi.incr('id'); // incr => 1 multi.hmset('user:' + <need incr value here>, 'username', name); // I want multi.hmset('user:1', 'username', 'Josh'); multi.exec(function(err,data){ .. }); My objective is to increment 'id', and then set it to a user id in a transaction. I have read, that i need to do client.watch('id') , but i don't understand how to use it. PD: Please, post your

2年java,蚂蚁一面,卒

喜你入骨 提交于 2021-02-06 08:40:14
作为程序员,我也希望做一枚运营狗。可惜并没多少时间,所以每到过节都发水文。端午快乐。 本文原于掘金试水,加个反差的标题,与预期一致,我也明白了为什么某些公众号质量和流行度相悖。事实就是这样,价值大的文章,都是那么小众。反而是这种初级的随手写的小东西,更加受欢迎。但这种文章如果你喜欢,我会觉得特别悲伤。 因为, 你正在为了面试而迎合面试官,而不是为了工作而汲取知识 。 正文如下,如有雷同,纯属巧合。 其实我一个都没答上来。并不是因为我笨,是因为我不会。在大佬的帮助下,现在我会了,求求你再给我一个机会。 TreeSet/HashSet 区别 顾名思义,首先是结构上的不同 1、TreeSet背后的结构是TreeMap,也就是红黑树,能够实现自动排序。它通过equals方法或者compareTo方法进行内容的比较。 2、HashSet背后是HashMap,key是无序的,只能做外部排序。既然是Hash,那么就要重写其中对象的hashCode和equals方法 另外,还有个细微的差别可以拿来装b: 1、HashSet可以接受null值,有且只有一个 2、TreeSet默认不可以接受null值,会直接抛出空指针异常 set里没有重复数据,treeSet里连虚无都没有。 HashMap 如何解决冲突,扩容机制 烂大街的问题,问哪答哪吧。这样的东西就是靠背。 HashMap的内部结构其实是数组

linux下如何查看服务器的硬件配置信息

送分小仙女□ 提交于 2021-02-06 07:58:32
性能测试时一定要确定测试环境和的硬件配置、软件版本配置,保证和线上一致,才更接近真实环境。 那么linux下如何查看服务器的硬件配置信息?? 一、查看cpu信息 1、所有信息 lscpu [root@redis02 ~ ]# lscpu Architecture: x86_64 ##cpu架构 CPU op -mode(s): 32 -bit, 64 - bit Byte Order: Little Endian CPU(s): 8 ##总共有8核 On -line CPU(s) list: 0 - 7 Thread(s) per core: 1 ##每个cpu核,只能支持一个线程,即不支持超线程 Core(s) per socket: 8 ##每个cpu,有8个核 Socket(s): 1 ##总共有1一个cpu NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 79 Model name: Intel(R) Xeon(R) CPU E5 - 2620 v4 @ 2 .10GHz Stepping: 1 CPU MHz: 2095.139 BogoMIPS: 4190.27 Hypervisor vendor: Microsoft Virtualization type: full L1d cache:

小姐姐被掏空了--技术文章总结。

為{幸葍}努か 提交于 2021-02-06 07:57:47
《小姐姐味道》是一个主观性和悲观性很强的公众号。吉祥物是佩奇,然鹅过着不如猪的生活。 本公众号关注的方向有两个。 一个是基础架构。 一个是Linux。 不知不觉写了上百篇文章,感觉被掏空了。总结性的文章果然也就是就那么点料。接下来,可能要写一些系列性的文章。冷门但很重要的那种。 还是先总结一下吧。 Linux 小姐姐比较自豪的就是linux玩的非常6。对了,为了体现自己的博学,还出了个系列。最爱的编辑器当然是vim,这篇文章很受欢迎,你也来看看吧。 Linux生产环境上,最常用的一套“vim“技巧 Java堆外内存排查小结 据说很多人拿来洗稿 Linux五件套↓ Linux之《荒岛余生》(一)准备篇 Linux之《荒岛余生》(二)CPU篇 Linux之《荒岛余生》(三)内存篇 Linux之《荒岛余生》(四)I/O篇 Linux之《荒岛余生》(五)网络篇 LWP进程资源耗尽,Resource temporarily unavailable 命令行版星球大战 # 挖坟会不会被打? 在终端画画、炒股、玩游戏 与福报厂无因果 小姐姐还是一个阿里黑,甚至是无脑黑。看我的表演 ↓ 坑爹项目「spring-cloud-alibaba」,我们也来一个 阿里开源软件替换指南 当然,也会恬不知耻的继续使用福报厂的一些优秀项目(羞)。 由 Canal 组件分析集成中间件架构的一般过程 高屋建瓴

《如何与面试官处朋友》系列-缓存击穿、穿透、雪崩场景原理大调解

一笑奈何 提交于 2021-02-06 07:48:02
前面我们提到分布式多级缓存架构的全貌,但总感觉少了些什么东西。在这样大的场景下面,如果遇到缓存使用问题那可咋办?但自古英雄出少年,相信此刻你已踏马西去,正走在寻找答案上得夕阳西下。 每每 面谈Redis大家肯定不陌生,反正就是各种被社会得毒打。上来就缓存问题(击穿、穿透、雪崩)三板斧,直接就是开门红,险些让我们招架不住。在这里我又日思夜想: 它们之间是如何造成的? 项目业务开发中应该注意些什么才能防范它们? 前言 说时迟那时快, 对面 依然不存在。正在低头玩手机的我,顿时感觉脸旁一阵凉风袭来,不由自主得抬起头来。只见一位光头大叔坐我 对面 ,椅子顿时咯吱咯吱作响,顺手还摸了一把那锃亮锃亮的头。这雷厉风行、英姿飒爽的身段,外加上处处逼人的寒冷气息,犹如那剑指锋芒,让人背后感到针针发凉。 这难道是把传说中的敏捷开发修炼到高层时,所散发出的内力吗?犹如走出那六亲不认的步伐,走路带风 缓存业务的高效 面试官: 看你简历上写了很多缓存的内容,那先谈谈你对缓存的理解?为啥用它? 吒吒辉: 面试官您好,说到缓存,那你算是找对人了,我能给你干到天亮,目前几乎所有网站都会用它,我也是略知一二得。 其一 缓存一般指nosql,即非关系型数据库,它存储的数据并不像数据库那样有很强的逻辑关系,类似干拿钱-->办事-->走人的感觉,以K--->V形式来操作。 因无逻辑关系

Flink 系例 之 Connectors 连接 Redis

不羁岁月 提交于 2021-02-06 00:53:17
通过使用Flink DataStream Connectors 数据流连接器连接到Redis缓存数据库,并提供数据流输入与输出操作; 示例环境 java .version : 1 .8 .x flink .version : 1 .11 .1 redis :3.2 示例数据源 (项目码云下载) Flink 系例 之 搭建开发环境与数据 示例模块 (pom.xml) Flink 系例 之 DataStream Connectors 与 示例模块 数据流输入 DataStreamSource.java package com.flink.examples.redis; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.streaming.api.functions.source.RichSourceFunction; import redis.clients.jedis.Jedis; import redis

百度分布式配置中心BRCC正式开源

空扰寡人 提交于 2021-02-06 00:48:14
“ 2021年02月,百度分布式配置中心BRCC,正式开源!” 01. 什么是BRCC BRCC(better remote config center)是一个分布式配置中心,用于统一管理应用服务的配置信息,避免各类资源散落在各个项目中,简化资源配置的维护成本。作为一种轻量级的解决方案,部署简单,同时支持多环境、多版本、多角色的资源管理,可以在不改变应用源码的情况下无缝切换和实时生效配置信息。 02. 技术架构 BRCC由三部分组成:管理端、服务端、SDK,其中: 1)管理端 : 前后端分离,后端基于Spring Boot 2.0开发,支持6个维度(产品、工程、环境、版本、分组、配置项)管理key-value格式的配置;支持细粒度的权限控制层级、操作轨迹等能力。安全易用,支持插件化的扩展轻松集成任何公司/组织的账号管理系统。 2)服务端: 基于spring boot 2.0开发,打包后可以直接运行,支持配置的分发、更新推送。 3)SDK: 支持java、go等多种开发语言和开发框架集成,支持spring注解、配置变更监听和刷新,零业务侵入性,低门槛集成(提供spring boot starter方式接入)。 03. 特性 1)统一管理不同环境、不同产品线的配置 BRCC提供统一界面集中式管理不同环境、不同产品线、不同工程的配置 通过版本的复制,可以高效的完成新业务的配置 2

管理博文 亿级QPS技术架构如何搭建?阿里全新开源2021高并发技术小册,简直不要太香!

依然范特西╮ 提交于 2021-02-06 00:01:22
基础 我之前也踩过一些坑, 参与的一个创业项目在初始阶段就采用了服务化的架构,但由于当时人力有限,团队技术积累不足,因此在实际项目开发过程中,发现无法驾驭如此复杂的架构,也出现了问题难以定位、系统整体性能下降等多方面的问题,甚至连系统宕机了都很难追查到根本原因,最后不得不把服务做整合,回归到简单的单体架构中。 所以我建议一般系统的演进过程应该遵循下面的思路: 最简单的系统设计满足业务需求和流量现状,选择最熟悉的技术体系。随着流量的增加和业务的变化,修正架构中存在问题的点,如单点问题,横向扩展问题,性能无法满足需求的组件。在这个过程中,选择社区成熟的、团队熟悉的组件帮助我们解决问题,在社区没有合适解决方案的前提下才会自己造轮子。当对架构的小修小补无法满足需求时,考虑重构、重写等大的调整方式以解决现有的问题。 以淘宝为例, 当时该业务从 0 到 1 的阶段是通过购买的方式快速搭建了系统。而后,随着流量的增长,淘宝做了一系列的技术改造来提升高并发处理能力,比如数据库存储引擎从MyISAM 迁移到 InnoDB,数据库做分库分表,增加缓存,启动中间件研发等。当这些都无法满足时就考虑对整体架构做大规模重构,比如说著名的“五彩石”项目让淘宝的架构从单体演进为服务化架构。正是通过逐步的技术演进,淘宝才进化出如今承担过亿QPS 的技术架构。 下面就为大家展示一份技术小册,需要的朋友点赞收藏