logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

redis set底层数据结构

set底层存储 redis的集合对象set的底层存储结构特别神奇,我估计一般人想象不到,底层使用了intset和hashtable两种数据结构存储的,intset我们可以理解为数组,hashtable就是普通的哈希表(key为set的值,value为null)。是不是觉得用hashtable存储set是一件很神奇的事情。 set的底层存储intset和hashtable是存在编码转换的,使用int

postgresql和mysql之间比较

物化视图:不同于一般视图,它会将视图内容物理保存在数据库中,是关系型数据库中很重要的一个功能。

文章图片
#postgresql#mysql#数据库
redis string底层数据结构

redis数据存储结构 redis的内部整体的存储结构就是一个大的hashmap,内部实现是数组实现hash,冲突通过挂链去实现,然后每个dictEntry就是一个key/value对象。dictEntry的key指向set key value命令中的key对应的对象,dictEntry的v指向set key value命令中的value对应的对象。dictEntry 内部包含数据存储的key和v

文章图片
#java#kafka#分布式
设计模式——管道模式(一)

管道模式(Pipeline Pattern) 是 责任链模式(Chain of Responsibility Pattern)的常用变体之一。在管道模式中,管道扮演着流水线的角色,将数据传递到一个加工处理序列中,数据在每个步骤中被加工处理后,传递到下一个步骤进行加工处理,直到全部步骤处理完毕。PS:纯的责任链模式在链上只会有一个处理器用于处理数据,而管道模式上多个处理器都会处理数据。何时使用管道模

文章图片
#设计模式#java#开发语言
设计模式——管道模式(并发模式)

1、pipeline简介pipeline又称为管道,是一种在计算机普遍使用的技术。举个最普遍的例子,如下图所示cpu流水线,一个流水线分为4部分,每个部分可以独立工作,于是可以处理多个数据流。linux 管道也是一个常用的管道技术,其字符处理功能十分强大,在面试过程中常会被问到。在分布式处理领域,由于管道模式是数据驱动,而目前流行的Spark分布式处理平台也是数据驱动的,两者非常合拍,于是在spa

#spark#big data
Java嵌入式tomcat整合SpringMVC

本文将介绍如何使用Java的方式启动tomcat,并整合Spring MVC,做到就像Springboot使用main方法启动,就可以访问controller资源的效果;/*** @createDate: 2021年12月01日 22:02**///添加包扫描路径创建 MyWebApplicationInitializer 类实现 WebApplicationInitializer接口,重写ons

文章图片
#java#tomcat#开发语言
大数据三驾马车与hadoop起源

Google成立于1998年是全球最大的搜索引擎公司,主要业务为搜索、云计算、广告技术等,主要利润来自于广告等服务。在21世纪初互联网刚刚兴起,每个企业保存和生产的数据量并不大,已有的技术对数据的保存和处理完全满足业务上的需求。作为搜索引擎公司,google需要保存爬虫所获取的大量网页数据,还要对海量的数据进行快速的搜索、计算、排名等处理。

文章图片
#大数据#hadoop#分布式
如何用MySQL设计一个分布式锁?

分布式锁想必大家都不陌生,可以用来解决在分布式环境下,多个用户在同一时间读取/更新相同的资源带来的问题。比如秒杀场景下的库存问题、redis key失效情况下请求直接打到MySQL中造成MySQL负载过大的问题,这些问题都可以通过分布式锁来解决。关于如何实现分布式锁,大家可能对基于Redis实现比较熟悉,但是往往很多情况是一些并发量不大的项目用不上RedisRedis往往适用于并发量比较大的场景。

文章图片
#分布式
【分布式锁】05-使用Redisson中Semaphore和CountDownLatch原理

前言前面已经写了Redisson大多的内容,我们再看看Redisson官网共有哪些组件:剩下还有Semaphore和CountDownLatch两块,我们就趁热打铁,赶紧看看Redisson是如何实现的吧。我们在JDK中都知道Semaphore和CountDownLatch两兄弟,这里就不多赘述,不了解的可以再回头看看。Semaphore使用示例先看下Semaphore原理图如下:接着我们看下Re

文章图片
#分布式#java#开发语言
【分布式锁】02-使用Redisson实现公平锁原理

前言前面分析了Redisson可重入锁的原理,主要是通过lua脚本加锁及设置过期时间来保证锁执行的原子性,然后每个线程获取锁会将获取锁的次数+1,释放锁会将当前锁次数-1,如果为0则表示释放锁成功。可重入原理和JDK中的可重入锁都是一致的。Redisson公平锁原理JDK中也有公平锁和非公平锁,所谓公平锁,就是保证客户端获取锁的顺序,跟他们请求获取锁的顺序,是一样的。公平锁需要排队,谁先申请获取这

    共 72 条
  • 1
  • 2
  • 3
  • 8
  • 请选择