Fluid
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •   
  •   

Redis实现-字典

Redis实现 - 字典一、字典在Redis的使用1.字典简述字典又称为映射 – map,是一种用于保存键值对(K - V)的抽象数据结构。 在map中,一个键(K)对应一个值(V),这对关联的键和值称为键值对。 字典中的键都是唯一的。因此,我们可以通过键来改变值,或者删除整个键值对。 2.在Redis中的使用字典在Redis中的应用非常广泛,比如,Redis的数据库就是使用字典来作为底层实现
2021-09-09
#数据库 #Redis

深入理解ThreadLocal

ThreadLocal多线程产生的线程安全性问题数据一致性问题:发生在多个主体对同一份数据无法达成共识。 解决方法: 排队:锁、互斥量、管程、屏障 投票:Paxos算法、Raft算法 这两种方法都会消耗额外的性能。 ThreadLocal是能够避免数据不一致性的。 ThreadLocal使用定义: 提供线程局部变量 一个线程局部变量在多个线程中,分别有多个独立的值。 特点: 简单(开
2021-09-05
#多线程

回表和覆盖索引

回表在理解回表之前,需要了解聚簇索引和非聚簇索引。 在InnoDB,由聚簇索引和辅助键索引。 聚簇索引就是将主键值和数据放在一起存储。 辅助键索引就是将索引值和主键值放在一起存储。 表数据 表中有4列,其中ID是主键,设置age为普通索引。 执行SQL语句: 1SELECT ID,age FROM USER WHERE age = 19 此时我们只需要通过普通索引就可以找到查询结果
2021-09-04
#数据库

聚簇索引和非聚簇索引

聚簇索引和非聚簇索引简单来说: 聚簇索引就是将数据和索引存储在一块,索引结构的叶子结点保存了数据。 非聚簇索引就是将数据和索引存储在一块,索引结构的叶子结点指向了数据对应的数据。 在InnoDB中主键使用的时聚簇索引。MyISAM不管是主键索引还是二级索引都是使用的非聚簇索引。 聚簇索引The InnoDB term for a primary key index. InnoDB table
2021-09-04
#数据库

消息中间件的设计

消息中间件的设计一、什么是消息中间件消息中间件的运用 上图是一个基于消息中间件的分布式系统架构。 用户想要实现某种功能,比如注册、创建订单、支付等。并没有通过前台系统直接去调用其他的子系统。而是将这个请求包装成消息和数据,暂时存放在消息中间件中。而其他子系统接受到这些消息后会去处理对应的请求。 好处: 解决系统之间的耦合。我们并没有实现系统与系统之间的直接调用。而是通过中间件的转换。 因此,
2021-07-09
#中间件

Redis实现 -- 链表

Redis实现 – 链表一、链表的特点链表作为一种常用的数据结构,链表内置在许多的高级语言中,比如Java中:LinkedList等集合类工具。 链表是一种线性表,和数组不同的是,他不能随机访问结点,只能顺序的访问。同时它可以通过增删结点来灵活地调整链表的长度。 二、Redis中的链表C语言中没有设计这种数据结构,因此Redis构建了自己的链表实现。 1、链表的实现源代码在adlist.h中
2021-07-05
#数据库 #Redis

Redis实现 -- 动态字符串

简单的动态字符串一、C语言中的字符串字符串是一种非常重要的数据类型,在Java中,有专门的数据类型来表示字符串。比如String类型、StringBuffer类型等。但是在C语言中不存在显示的字符串类型,都是以字符串常量的形式出现或存储在字符数组中。 1、字符串常量所谓的字符串常量,就是:以’/0’结尾的多个字符组成的序列。字符串常量是不可被修改的。 比如:”Hello world”
2021-07-05
#数据库 #Redis

Linux内核体系结构

Linux内核体系结构一、操作系统操作系统的架构一个完整的操作系统主要由四部分组成:硬件层、操作系统内核层、操作系统服务层和用户应用程序层。 用户应用程序层:是指那些字处理程序,Internet浏览器程序。以及一些用户自己编写的应用程序。 操作系统服务层:是指那些向用户提供的服务被看做时操作系统部分功能的程序。比如X窗口系统、shell命令解释系统以及内核编程接口等系统程序。 操作系统内核层
2021-06-29
#Linux内核

ReentrantLock的使用

ReentrantLock相对于synchronized,它具备的特点是: 可中断 可以设置超时时间 可以设置为公平锁 支持多个条件变量 与synchronized一样,都支持可重入。 基本语法: 12345678//获取锁reentrantLock.lock();try{ //临界区}finally{ //释放锁 reentrantLock.unlock()
2021-06-15
#Java #多线程

Docker

Dockerdocker中文网:https://vuepress.mirror.docker-practice.com/ 1、 什么是Docker什么是Docker 官方介绍: We have a complete container solution for you no matter who you are and where you are on your containerizatio
2021-05-01
#容器 #工具
1234…7

Search

Hexo Fluid