摸鱼飞弹 摸鱼飞弹
3年前
golang 实现配置中心 (一)
项目背景,之前在上家东家接触到golang,自学到项目上线,也是摸着石头过河,中间也遇到了一些小bug(生产环境出现内存泄露问题,导致业务占用内存,居高不下,实际是因为项目的service层部分应用没有应用到redis或数据库,但是也进行了实例化,最后没有释放资源导致,排查方法也是比较笨,就是一些流程在本地跑,看哪些环节导致内存居高不下,最后追查到的结果),
Wesley13 Wesley13
2年前
mysql优化
第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代
Wesley13 Wesley13
2年前
Java简单实现滑动窗口
由于最近有一个统计单位时间内某key的访问次数的需求,譬如每5秒访问了redis的某key超过100次,就取出该key单独处理。这样的单位时间统计,很明显我们都知道有个边界问题,譬如5秒内100次的限制。刚好前4.99秒访问都是0,最后0.01秒来了100次,5.01秒又来了100次。也就是访问有明显的毛刺情况出现,为了弱化这个毛刺情况,我们可以采用滑动
Stella981 Stella981
2年前
Redis中你可能不知道的两个类
!(https://oscimg.oschina.net/oscnet/54b61db517e7d9db7d74fbf33cfdba052be.png)!(https://oscimg.oschina.net/oscnet/98beb70f96e371b6db2e985056ad451f779.jpg)阅读本文大概需要7分钟。
Stella981 Stella981
2年前
FastDFS加Redis实现自定义文件名存储海量文件
FastDFS(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fcode.google.com%2Fp%2Ffastdfs%2F)非常适合存储大量的小文件,遗憾的是本身不支持自定义文件名,文件名是存储成功以后根据存储位置生成的一个file\_id。很多应用场景不得不使用自定义文件名,在不
Stella981 Stella981
2年前
Google布隆过滤器与Redis布隆过滤器详解
一、什么是布隆过滤器?布隆过滤器可以用来判断一个元素是否在一个集合中。它的优势是只需要占用很小的内存空间以及有着高效的查询效率。对于布隆过滤器而言,它的本质是一个位数组:位数组就是数组的每个元素都只占用1bit,并且每个元素只能是0或者1布隆过滤器除了一个位数组,还有K个哈希函数。当一个元素加入布隆过滤器中的时候,会进行如下操作:
Stella981 Stella981
2年前
Redis的过期策略和内存淘汰策略最全总结与分析
云栖号资讯:【点击查看更多行业资讯(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fyqh.aliyun.com%2F%3Fcate%3D%25E8%25B5%2584%25E8%25AE%25AF)】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
Stella981 Stella981
2年前
Redis缓存总结:淘汰机制、缓存雪崩、数据不一致....
越努力,越幸运,本文已收藏在Gitee中JavaCommunity(https://gitee.com/JavaCommunity/JavaCommunity),里面有面试分享、源码分析系列文章,欢迎收藏,点赞https://gitee.com/JavaCommunity/JavaCommunity(https://gite
Stella981 Stella981
2年前
Redis 哨兵节点之间相互自动发现机制(自动重写哨兵节点的配置文件)
Redis的哨兵机制中,如果是多哨兵模式,哨兵节点之间也是可以相互感知的,各种搜索之后出来的是千篇一律的一个基础配置文件,在配置当前哨兵节点的配置文件中,并没有配置其他哨兵节点的任何信息。如下是一个哨兵节点的配置信息,可以看到,哨兵与哨兵之间没有任何配置,死活想不明白,哨兵之间是如何自动识别的。sentinel端口port
Stella981 Stella981
2年前
Redis缓存穿透、缓存雪崩、并发问题分析与解决方案
(一)缓存和数据库间数据一致性问题分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强一致性的,那么请不要使用缓存。我们只能采取合适的策略来降低缓存和数据库间数据不一致的概率,而无法保证两者间的强一致性。合适的策略包括合适的缓存更新策略,更新数