[转]AutoLoadCache – 面对缓存,有哪些问题需要思考?
缓存可以说是无处不在,比如 PC 电脑中的内存、CPU 中的二级缓存、HTTP 协议中的缓存控制、CDN 加速技术都是使用了缓存的思想来解决性能问题。 缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 本文主要是讨论我们经常使用的分布式缓存 Redis 在开发过程中的相关思考。
Just One Pure ITer
Cache in distributed Architecture / Redis Theory & Solutions
by leelight · Published September 17, 2018 · Last modified November 5, 2018
缓存可以说是无处不在,比如 PC 电脑中的内存、CPU 中的二级缓存、HTTP 协议中的缓存控制、CDN 加速技术都是使用了缓存的思想来解决性能问题。 缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 本文主要是讨论我们经常使用的分布式缓存 Redis 在开发过程中的相关思考。
一、单点登录简介 假设一个场景:公司内部有财务、OA、订单服务等各类相互独立的应用系统,员工张三对这些系统有操作权限,如果张三想要登录某个系统进行业务操作,那么他需要输入相应的账号与密码。想象一下,当公司内部有 100 个应用系统,张三是不是要输入 100 次用户名和密码进行登录,然后分别才能进行业务操作呢?显然这是很不好的体验,因此我们需要引入一个这样的机制:张三只要输入一次用户名和密码登录,成功登录后,他就可以访问财务系统、OA 系统、订单服务等系统。这就是单点登录。
一、企业支付网关介绍 企业支付网关由统一支付服务、统一支付通知、统一支付后台三部分组成,我们今天主要介绍前两个部分。企业支付网关独立出来非常有必要,它是企业做大后金融事业部的基础,当前价值如下: 1、集中研发工作:集中研发封装公司使用的各种支付方式,如支付宝、财付通、预付款等,同时统一各应用系统的支付调用方式。 2、集中运维工作:集中发布、监控、维护、安全等工作。 3、集中财务工作:集中各支付方式的对账、统计、日志追踪、异常处理等结算运营工作。
国内的技术环境先天性地决定了,随着年龄增长还能一直深耕技术的程序员非常少。大部分人在某些特定的时间节点前都面临着转管理岗的抉择。管理工作并不比做技术轻松,难度上甚至可以说更大,一不小心还会踏入很多管理陷阱。本文就想跟大家聊聊,做技术的大牛们,当自己的技术达到一定的高度时,如何避免掉入管理的陷阱当中。
半年前我加入一个刚刚拿到 A 轮资金的创业团队负责 iOS 项目。早期的时候公司生死未卜,只追求快速迭代找到一个正确的方向。这种早期默默无闻的团队也没什么工程追求,就是写的快就好了。但是确定方向后要长期发展,就不能再野蛮生长了。 基于过去半年我在这个项目里的实践经验,和大家分享一下。
在任何性能优化之前,要做的第一件事就是找到性能瓶颈!而找到性能瓶颈通常需要强大的debug工具辅助。内存方面Android有 AndroidStudio 的 Android Profiler、Allocation Tracker,以及Eclipse的MAT用于分析java的内存占用,相当强大。而偏向native层面的内存占用则找不到太好的工具,因此这里在做优化前,先造了几个工具。
在 我这样减少了26.5M Java内存!中内存优化一期已经告一段落,主要做的事情是,造了几个分析内存问题的轮子,定位进程各种类型内存占用情况,分析了线程创建OOM的原因。当然最重要的是,优化了一波进程静息态的内存占用(减少26M+)。而二期则是在一期的基础之上,推进已发现问题的SDK解决问题,最终要的是要优化进程的动态Java内存占用!
1. 写在前面 作者近期针对企业数字化和架构转型思考后陆续写了三篇文章,这篇是第三篇,主题专注微服务和 DevOps 支撑技术,以 Netflix 技术栈为例。第一篇称为《企业的组织架构是如何影响技术架构的》[附录 8],主题是建立背景上下文 (background)。第二篇称为《将你的组织架构旋转 90 度》[附录 9],主题专注组织架构转型。 为啥前面要花两篇讲组织架构背景和转型?因为微服务和 DevOps 在本质上需要组织架构转型 (Re-org),组织架构对了,技术架构才能落地下来。如不考虑组织架构,直接切入技术架构(很多架构师的通病),则失败风险巨大。 为啥要以 Netflix 技术为例?因为 Netflix 是业界微服务和 DevOps 组织的楷模,有大规模生产级微服务的成功实践。而且其技术栈大部分开源,模块化抽象好,整个体系是一个样板。相关技术资料也丰富,可以从其公司的 techblog 或者 slideshare 上直接获得。本文是作者多年研究 Netflix 技术资料的总结,可以认为是对 Netflix 微服务技术架构的一次全面系统的反向工程。
1. 1概述 线上源码地址,结合源码看比较容易理解 源码地址: https://github.com/lmyDevs/multiApp 作为一个刚入行一两年的 代码 Copy 者 来说,这么久没有深入了解 Gradle 真的是一大遗憾,熟悉了 Gradle 之后开发效率能够提高很多,当然,现在我还没有到那个地步,这篇文章就是我实际开发中的需求,刚开始的时候用的是最基本的开发方式,后来东西越来越多,渐渐的感觉这种开发方式太拖慢进度了,然后就搜索学习一番,没有理解,只是学习了基本的操作来解决开发中的需求,特写篇文章记录一下,怕忘记。 emmm, 我可能有一个这样的需求,不知道可不可以…
一、需求缘起 分页需求 互联网很多业务都有分页拉取数据的需求,例如: (1)微信消息过多时,拉取第N页消息 (2)京东下单过多时,拉取第N页订单 (3)浏览58同城,查看第N页帖子 这些业务场景对应的消息表,订单表,帖子表分页拉取需求有这样一些特点: (1)有一个业务主键id, 例如msg_id, order_id, tiezi_id (2)分页排序是按照非业务主键id来排序的,业务中经常按照时间time来排序order by
Follow:
| Cookie | Duration | Description |
|---|---|---|
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |