Redis

Linux 中安装redis 外网可访问

穿精又带淫゛_ 提交于 2020-10-01 03:44:01
导读 在 Linux 中安装了redis 服务。在 Windows 中安装了 xampp 环境,以供 PHP 运行。 PHP 代码如下: connect('192.168.1.4', 6379); $redis->set('tag', 'hello'); echo 'name:', $redis->get('tag'); ?> 执行以上代码时,报错如下: Fatal error: Uncaught exception ‘RedisException’ with message ‘Redis server went away’ in xxxx RedisException: Redis server went away in xxxxxx 解错误分析及解决办法 错误的原因很简单,就是没有连接上 redis 服务,由于 redis 采用的安全策略,默认会只准许本地访问。需要通过简单配置,完成允许外网访问。 修改 redis 的配置文件,将所有 bind 信息全部屏蔽。 # bind 192.168.1.100 10.0.0.1 # bind 192.168.1.8 # bind 127.0.0.1 修改完成后,需要重新启动 redis 服务。 修改 Linux 的防火墙(iptables),开启你的 redis 服务端口,默认是 6379。 -A INPUT -m state

记一次订单号事故

天大地大妈咪最大 提交于 2020-10-01 02:35:14
记一次订单号事故 去年年底的时候,我们线上出了一次事故,这个事故的表象是这样的: 系统出现了两个一模一样的订单号,订单的内容却不是不一样的,而且系统在按照 订单号查询的时候一直抛错,也没法正常回调,而且事情发生的不止一次,所以 这次系统升级一定要解决掉。 经手的同事之前也改过几次,不过效果始终不好:总会出现订单号重复的问题, 所以趁着这次问题我好好的理了一下我同事写的代码。 这里简要展示下当时的代码: /** * OD单号生成 * 订单号生成规则:OD + yyMMddHHmmssSSS + 5位数(商户ID3位+随机数2位) 22位 */ public static String getYYMMDDHHNumber(String merchId){ StringBuffer orderNo = new StringBuffer(new SimpleDateFormat("yyMMddHHmmssSSS").format(new Date())); if(StringUtils.isNotBlank(merchId)){ if(merchId.length()>3){ orderNo.append(merchId.substring(0,3)); }else { orderNo.append(merchId); } } int orderLength = orderNo

架构师技术文档:Redis+Nginx+Spring全家桶+Dubbo精选(免费领学习资料)

╄→尐↘猪︶ㄣ 提交于 2020-10-01 01:27:34
最近花了很长的时间去搜罗整理Java核心技术好文,我把每个Java核心技术的优选文章都整理成了一个又一个的文档。今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇到哪方面的问题了 直接打开文档学一学就好了。不多说,直接上干货! 一、Redis技术好文精选整理 Redis哨兵、复制、集群的设计原理,以及区别 Spring+Redis+Docker+Dubbo 深入了解redis 如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题 二、Nginx技术好文精选整理 Nginx实战 Nginx教程从入门到精通 三、Spring全家桶技术好文精选整理 Spring从入门到精通(珍藏版) Spring MVC 学习指南 Spring源码深度解析 spring-boot-中文参考手册 Spring+Redis+Docker+Dubbo 《疯狂Spring Cloud》电子书(一) SpringBoot实战 四、分布式技术好文精选整理 RabbitMQ实战 高效部署分布式消息队列 从 Paxos 到 ZooKeeper 分布式一致性原理与实践 大规模分布式系统架构与设计实战.完整版 分布式数据库架构及企业实践-基于Mycat中间件 分布式java应用-基础与实际 大型分布式网站架构设计与实践 分布式Java应用基础与实践 分布式服务框架原理与实践 大规模分布式存储系统

【招聘(深圳)】轻岁 诚聘.NET Core开发

烂漫一生 提交于 2020-09-30 23:55:39
招聘简介 为了支撑公司互联网的战略转型,我们将基于.NET Core + K8S/TKE + 腾讯云云函数的微服务架构,打造高性能、高并发、高扩展的基础平台,同时基于该平台进行应用开发,包括Web端,移动端(微信公众号、小程序、支付宝应用号)的开发。 如果你对【IOT + .NET Core + K8S + 无服务计算/微服务 + 轻应用】感兴趣,有冲劲,肯学习,想往互联网、云原生等新技术方向发展,那这里将是你保持技术领先和成长的好地方。 招聘岗位1:.NET 研发工程师(18k-20k) 任职资格: 1、全日制本科及以上学历,计算机或其他相关专业,3年以上相关工作经验,有独立负责项目经验者优先; 2、.NET 基础扎实,精通C#编程,有丰富的MVC、WebApi开发经验,掌握ASP.NET Core应用开发和ORM框架; 3、掌握面向对象编程思想,掌握常用的设计模式,良好的编程素养; 4、掌握数据库编程;掌握Web前端开发技术; 5、熟悉.NET Core 容器化和基于Kubernetes 的云原生应用开发经验优先; 6、了解MongoDB、Redis、RabbitMQ等技术。 7、有ABP 框架开发经验者优先; 8、自我驱动,热爱学习和总结; 福利: 五险一金;绩效奖金;带薪年假;弹性工作;员工旅游;餐费补贴;节日福利。(没有的我们一起去努力!) 轻岁团队

Docker | 优化 Docker 镜像大小常见方法

怎甘沉沦 提交于 2020-09-30 21:46:35
作者:阳明 转载自:k8s技术圈 平时我们构建的 Docker 镜像通常比较大,占用大量的磁盘空间,随着容器的大规模部署,同样也会浪费宝贵的带宽资源。本文将介绍几种常用的方法来优化 Docker 镜像大小,这里我们使用 Docker Hub 官方上的 Redis 镜像进行说明。 手动 管理 我们能够直接想到的方法就是直接修改官方的 Redis 镜像 Dockerfile 文件,手动删除容器运行后不需要的组件,然后重新构建一个新镜像。这种方法理论上是可行的,但是容易出错,而且效果也不是特别明显。主要是不能和官方的镜像实时同步。 多阶段构建 Docker 在17.05 版本起提供了多阶段构建的功能来解决这个问题,这种方法是通过丢弃中间层来实现的,并通过中间层来提供有关如何创建最终镜像及其内容信息来完成的,只需要保留容器化应用所需的组件即可。在更上层的实现如下所示: 以一些镜像作为构建的基础 和平常一样运行命令来构造你的应用 将所需的制品复制到另外一个单独的镜像 Distroless 在严重依赖容器化技术,尤其是 Docker 之后,谷歌早就意识到了使用臃肿镜像的弊端。所以他们提供了自己的方法来解决这个问题,即 distroless 镜像。与典型的Linux 基础镜像(绑定了很多软件)不同,在 distroless 上对你的应用进行 docker化,最终的镜像只包含应用及其运行时的依赖项

滴滴CTO五轮面试真是太刺激了,Java高级工程师一二三四五面面经(已拿到offer)

拟墨画扇 提交于 2020-09-30 18:12:32
滴滴CTO五轮面试真是太刺激了,之前看到好多面经难度极大,感觉运气还行,面试难度虽然挺大,但面试官人还都不错。而且面试完马上出结果,非常刺激! 本文分享给需要面试刷题的朋友,也祝愿大家顺利拿到自己想要的offer,这份资料主要包含了Java基础,数据结构,jvm,多线程等等,由于篇幅有限,以下只展示小部分面试题,有需要完整版的朋友可以点一点链接跳转领取:链接: 点击即可!!! 暗号:CSDN 9月9日下午1:00 一面 自我介绍+介绍项目 项目中难点及解决办法 Java线程的状态及转换 Java创建线程的方式 创建线程池的方式有哪些 JUC包下的类,能说多少说多少 ReentranLock与sychronized的区别 volitile的内存语义,底层如何实现 解释一下happens-before,有哪些规则 CurrentHashMap源码 MySQL的索引及区别 算法题:顺时针打印矩阵 9月10日下午1:00二面,深挖项目为主(45min) 介绍项目,项目中的难点(15min) MySQL是如何优化的,数据量有多少 倒排索引与正排索引的区别 ElasticSearch的原理(倒排索引+TF/IDF) Zookeeper用过吗,介绍一下 Zookeeper一般用在什么场景 除了ZAB协议,在介绍几个分布式一致性协议(Paxos、Raft) 线程池的几种拒绝策略及其应用场景

限速限流常用方案

南楼画角 提交于 2020-09-30 17:41:35
来源网站: www.wangdatao.com 前言 分布式系统中经常会提到限速和降级的概念。所谓限流,可以认为是服务降级的一种,限流就是限制系统的输入和输出流量, 以达到保护系统的目的 系统上线之前,一般都会进行压测,压测之后吞吐量是可以被测算的,为了保证系统的稳定运行, 一旦达到了设定限制的阔值,就需要限制流量并采取一些措施以完成限制流目的。常见的限流方案为:延迟处理、拒绝处理和部分拒绝处理等。一般高并发系统常见的限流有:限制总并发数(比如:数据库连接池、线程池)、限制瞬时并发数、限制时间窗口内的平均速率;其他还有如限制远程接口调用速率、限制MQ的消费速率;另外还可以根据网络连接数、网络流量、CPU或内存负载等来限流。 1、常用算法 1.1、计数器算法 算法思想: 规定一个时间周期,统计在一个周期内总共请求的次数,如果时间超过一个周期,则次数计入到下一个周期内。比如:当接收到第一个请求时,记录第一次的时间 beginTime, 计数器Counter设置为1,当第二个请求来时,判断第二个请求的时间与beginTime的间隔有没有超过最初设计的时间周期,如果没有超过,判断Counter是否超过设置的最大速度数,都满足时Counter加1;如果超过设计的时间周期,beginTime时间改为第二次请求的时间,Counter重置为1。 //不严谨的算法代码 public class

在.NET Core中使用MongoDB明细教程(3):Skip, Sort, Limit, Projections

守給你的承諾、 提交于 2020-09-30 17:25:17
到目前为止,我们已经讨论了创建文档, 检索文档,现在让我们来研究一下文档排序,指定要跳过或限制返回的文档数量,以及如何进行投影。此篇文章中的实例代码摘录自原文,未像前几篇文章一样进行实际代码的验证。 作者:依乐祝 译文地址:https://www.cnblogs.com/yilezhu/p/13525942.html 英文地址:https://www.codementor.io/@pmbanugo/working-with-mongodb-in-net-part-3-skip-sort-limit-and-projections-oqfwncyka Limit 当我们查询一个文档时,我们有时不想返回所有符合过滤条件的文档,而只返回其中的一部分。这就是 limit 方法的具体应用。对于MongoDB,可以通过调用 Find 返回的 IFindFluent 的 limit 方法来限制文档的数量。因此,如果我查询数据库中年龄小于40岁的学生,我会得到以下信息: S/N: 1 Id: 582489339798f091295b9094, FirstName: Gregor, LastName: Felix S/N: 2 Id: 582489339798f091295b9095, FirstName: Machiko, LastName: Elkberg S/N: 3 Id:

来看看最真实的大厂Java岗的面试题(百度,360,腾讯真题)

被刻印的时光 ゝ 提交于 2020-09-30 16:55:42
温馨提示: 一定不要在没有面试经验的情况下先面大厂,或者是你想去的公司,一定一定一定要做好充足的准备!! 百度(123面) 一面: 讲讲项目中的爬虫和优化怎么做的,为什么选用jsoup而没有用python的urllib 说说你了解的反爬虫措施,和针对异常的处理。 做一个网站要从哪些方面考虑反爬虫。 项目中怎么实现的充值,锁的机制和事务注解,如何保证了事务的一致性。 spring层面做事务和数据库层面做的区别,各自实现方式。 聊了事务的传播性和隔离级别,mysql的默认隔离级别(可重复读) spring中事务传播性怎么配置(xml方式和注解方式,还有关于savepoint的使用) 算法:O(1)删除执行链表结点,做分析(其实是要指出剑指offer中那个直接copy值的方法的缺陷和隐患) 算法:二叉树的最长距离(递归的思想) 这里也整理了其他大厂的面试题,需要的朋友可以点击: 点这个!点这个! 暗号:csdn 二面 聊项目 说说spring的IOC和AOP思想 关于AOP在spring的应用(比如事务,通知,aspectJ,slf4j的原理,和log4j的对比) 关于jdk代理和cglib第三方代理(说出对接口代理和子类继承的区别) 用的什么数据库 最大的数据量多大,用了索引没有,怎么用的 为什么索引不能随便用,什么时候用(什么时候失效,什么时候最高效)。 如何达到索引开销和性能的平衡

高并发系统限流-漏桶算法和令牌桶算法

帅比萌擦擦* 提交于 2020-09-30 16:49:41
高并发系统限流-漏桶算法和令牌桶算法 参考: http://www.cnblogs.com/LBSer/p/4083131.html https://blog.csdn.net/scorpio3k/article/details/53103239 https://www.cnblogs.com/clds/p/5850070.html http://jinnianshilongnian.iteye.com/blog/2305117 http://iamzhongyong.iteye.com/blog/1742829 一、问题描述   某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引流等机制。 二、常用的限流算法 常用的限流算法有两种:漏桶算法和令牌桶算法 。 漏桶算法思路很简单,水(请求)先进入到漏桶里,漏桶以一定的速度出水,当水流入速度过大会直接溢出,可以看出漏桶算法能强行限制数据的传输速率。 图1 漏桶算法示意图 对于很多应用场景来说