Karen110 Karen110
3年前
想抓住大数据时代?小众数据库不可小觑
大家好,我是Python进阶者,今天给大家来送书啦随着大数据时代的发展,诞生了一大批大数据时代下的新数据库产品,如今MongoDB、Redis、HBase这些NoSQL数据库已经成为了互联网开发的新标配,SQL一统江湖的时代不复存在了。然而,如果你觉得只要学习了上边这几种NoSQL你就抓住了大数据时代的话,你可就大错特错了!大数据时代发展速度之快
摸鱼飞弹 摸鱼飞弹
3年前
golang 实现配置中心 (一)
项目背景,之前在上家东家接触到golang,自学到项目上线,也是摸着石头过河,中间也遇到了一些小bug(生产环境出现内存泄露问题,导致业务占用内存,居高不下,实际是因为项目的service层部分应用没有应用到redis或数据库,但是也进行了实例化,最后没有释放资源导致,排查方法也是比较笨,就是一些流程在本地跑,看哪些环节导致内存居高不下,最后追查到的结果),
Wesley13 Wesley13
3年前
mysql优化
第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代
Wesley13 Wesley13
3年前
Java简单实现滑动窗口
由于最近有一个统计单位时间内某key的访问次数的需求,譬如每5秒访问了redis的某key超过100次,就取出该key单独处理。这样的单位时间统计,很明显我们都知道有个边界问题,譬如5秒内100次的限制。刚好前4.99秒访问都是0,最后0.01秒来了100次,5.01秒又来了100次。也就是访问有明显的毛刺情况出现,为了弱化这个毛刺情况,我们可以采用滑动
Stella981 Stella981
3年前
Oh! Binlog还能这样用之Canal
背景不知道是否你还在为下面的问题而困扰:当你使用了redis或者其他中间件做缓存的时候,经常发现缓存和数据库的数据不一致,只能通过定时任务或者缓存过期的方式去做一些限制。当你使用了ES做搜索工具,使用双写的那一套方法,还在为ES和数据库不是一个事务而担忧。当你需要迁移数据的时候,也还在使用双写的方法,如果是同一个数据
Easter79 Easter79
3年前
SpringBoot2.0之六 多环境配置
  开发过程中面对不同的环境,例如数据库、redis服务器等的不同,可能会面临一直需要修改配置的麻烦中,在以前的项目中,曾通过Tomcat的配置来实现,有的项目甚至需要手动修改相关配置,这种方式费时费力,出错的概率还极大,SpringBoot为我们提供了更加简单方便的配置方案来解决多环境的配置问题,下面我们看看怎么实现。一、新建一个项目(本文以上篇的代码
Stella981 Stella981
3年前
SpringBoot2.0之六 多环境配置
  开发过程中面对不同的环境,例如数据库、redis服务器等的不同,可能会面临一直需要修改配置的麻烦中,在以前的项目中,曾通过Tomcat的配置来实现,有的项目甚至需要手动修改相关配置,这种方式费时费力,出错的概率还极大,SpringBoot为我们提供了更加简单方便的配置方案来解决多环境的配置问题,下面我们看看怎么实现。一、新建一个项目(本文以上篇的代码
Stella981 Stella981
3年前
Google布隆过滤器与Redis布隆过滤器详解
一、什么是布隆过滤器?布隆过滤器可以用来判断一个元素是否在一个集合中。它的优势是只需要占用很小的内存空间以及有着高效的查询效率。对于布隆过滤器而言,它的本质是一个位数组:位数组就是数组的每个元素都只占用1bit,并且每个元素只能是0或者1布隆过滤器除了一个位数组,还有K个哈希函数。当一个元素加入布隆过滤器中的时候,会进行如下操作:
Stella981 Stella981
3年前
Http的会话token验证优化
这里只是优化思路的一个具体应用场景。在服务进程中收到一个http请求的时候会对客户端携带的token进行验证,一般token会有有效期的。这个一般可用于登录合法验证。一般流程会是这样:服务进程redis验证token等信息,再处理业务。如果服务进程数量上万个的话,那么单着一个验证token代价就会很庞大。几万个进程都会链接这个token集群进
Stella981 Stella981
3年前
Redis 哨兵节点之间相互自动发现机制(自动重写哨兵节点的配置文件)
Redis的哨兵机制中,如果是多哨兵模式,哨兵节点之间也是可以相互感知的,各种搜索之后出来的是千篇一律的一个基础配置文件,在配置当前哨兵节点的配置文件中,并没有配置其他哨兵节点的任何信息。如下是一个哨兵节点的配置信息,可以看到,哨兵与哨兵之间没有任何配置,死活想不明白,哨兵之间是如何自动识别的。sentinel端口port