基于Spring Cache实现Caffeine、jimDB多级缓存实战
在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,内存缓存采用Caffeine缓存,利用WTinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并发;后期通过压测及性能调优999性能<20ms
Stella981 Stella981
3年前
Lua 与php 性能测试说明文档
Lua 与php性能测试说明文档测试环境   192.168.10.30获取同一物品信息  读取redis localhost:6379PhpnginxredisLuanginxredisngx\_lua将lua嵌入到nginx,让nginx执行lua脚本,高并
Wesley13 Wesley13
3年前
IOS 列表行高的自动计算 解决开发中痛点
UITableView一直是我们app中使用频率最高的控件。UITableViewCell的算高问题也一直是一个老生常谈的问题。我们一般算高都是将cell中得各个控件的高度计算出来,然后给外界抛出一个接口,用来获取cell高度。如果cell是定高还好,如果是变高,我们还要计算文字图片的高度,每一个不同的cell都有一大段算高的代码,而且tableview返
Wesley13 Wesley13
3年前
1 缓存架构意义
缓存是什么?将各种繁琐或简单的东西全部提取都一个大格子箱里面,下次拿的时候不需要慢慢找,直接快速的就能拿到。这是博主简单粗暴的理解。(没有那么多官方定义,有需要的可以去搜索一下),目的是它解决性能问题,同时能够支撑高并发,高可用。缓存场景放到软件开发里面,可以小到存储一些固定信息,定时保存数据、大到小型电商的页面静
Stella981 Stella981
3年前
Android可滑动TextView设置大段文字后,如何滚动到结尾显示。
mResultTextView.setText(strResultText);//通过行数X行高计算文字段落高度int offset  mResultTextView.getLineCount() mResultTextView.getLineHeight();//如果文字段落高度大于可显示高度,则滑动到末尾(20
Wesley13 Wesley13
3年前
2020年写的文章整理到了这里,请查收!
写在前面2020年默默地还是写了很多东西的,微信有了标签功能之后,整理起文章来还是比较方便的。从去年到今年准备写几个专辑,围绕于自己做交易系统或是一些通用解决方案的,当然自己平时爱叨叨的毛病也整理了一个专辑,回顾起来还比较有意思。复杂度治理系统变大之后,对应的复杂度就上来了,除了需要解决各种高性能、高可用、高并发的“规模
Wesley13 Wesley13
3年前
MySQL主从复制与读写分离
MySQL主从复制(MasterSlave)与读写分离(MySQLProxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过主从复制(MasterS
玩转云端 | 天翼云电脑的百变玩法
天翼云电脑是云计算技术与终端相结合的创新型产品,具有高流畅性、使用便捷、安全可靠、灵活配置、集中管控等优势,堪称天翼云产品家族中的“明星选手”。天翼云电脑特性解析▪ 高流畅性:创新采用自研Clink协议,确保流畅的桌面体验;▪ 使用便捷:适配多终端,用户可随时随地访问企业办公环境,提升工作效率;▪ 安全可靠:具备多重数据安全防护机制,配备多款安全产品,保障用
跨机房ES同步实战
众所周知单个机房在出现不可抗拒的问题(如断电、断网等因素)时,会导致无法正常提供服务,会对业务造成潜在的损失。所以在协同办公领域,一种可以基于同城或异地多活机制的高可用设计,在保障数据一致性的同时,能够最大程度降低由于机房的仅单点可用所导致的潜在高可用问题,最大程度上保障业务的用户体验,降低单点问题对业务造成的潜在损失显得尤为重要。