前言java从零手写实现redis(一)如何实现固定大小的缓存?java从零手写实现redis(三)redisexpire过期原理java从零手写实现redis(三)内存数据如何重启不丢失?java从零手写实现redis(四)添加监听器java从零手写实现redis(五)过期策略的另一种实现思路java从零手写实现redis(六)AOF持久化原理详解及实现我们前面简单实现了redis的几个特性,j
分类:
编程语言 时间:
2020-11-11 16:16:40
阅读次数:
11
福哥答案2020-10-03:#福大大架构师每日一题# 简单回答:satb: snapshot-at-the-beginning,快照。tlab:thread local allocation buffer,线程本地分配缓冲。 中级回答:satb: snapshot-at-the-beginning ...
分类:
编程语言 时间:
2020-11-11 16:13:57
阅读次数:
9
一、什么是变量 1、什么是变量 变量就是用一个固定的字符串(字符、字符+数字的组合等)替代更多、更复杂的内容,该内容可能还包含变量、路径、字符串等其它内容。 变量是暂时存储数据的地方及数据标记,所存储的数据是存放在内容空间中,通过正确地调用内存看空间中变量的名字九可以取出与变量相对应的数据。 注意变 ...
分类:
系统相关 时间:
2020-11-11 16:10:19
阅读次数:
9
在使用libconfuse的过程中发现一个非常奇怪的问题。 一单独调试libconfuse没有任何问题。 但,放到一个复杂一点的工程中就产生了问题。 通过跟踪发现,目前至少涉及到strdump 在别处使用strdump没有问题,返回的指针,可以通过内存查看。但进入confuse.c中后,strdum ...
分类:
其他好文 时间:
2020-11-11 16:02:55
阅读次数:
5
答案是不可以。 实操演示: 这里尝试了三个指令, mov ax,1000:0 mov ax,[1000:0] mov ax,1000[0] 其中,前两个指令会报错,最后一个在使用t命令单步调试的时候发现会被转换成 mov ax,[1000],也就是说,直接使用段地址+冒号+偏移地址的形式是不能进行内 ...
分类:
其他好文 时间:
2020-11-11 15:51:10
阅读次数:
6
线程的知识太多,知识点有深有浅,往深的研究会涉及操作系统、CUP、内存,往浅了说就是一些语法。没有一定的知识积累,很难把线程的知识写得全面,当然我也没有这个能力。所以想到一个点写一个点,尽量总结一些有用的知识点。线程是个大话题,这个系列可能会有好几遍关于线程的,先从基础的开始,热热身。 一些基础概念 ...
分类:
编程语言 时间:
2020-11-10 11:42:20
阅读次数:
30
==星球水友提问==沈老师,你好,想请教一个身份证信息检索的问题。公司有一个每秒5万并发查询的业务,(假设)根据身份证MD5查询身份证信息,目前有1000亿条数据,纯文本存储,前几天看你写LevelDB,请问这个业务能利用LevelDB内存数据库进行存储么?有没有其他优化方案?画外音:LevelDB《内存KV缓存/数据库》。==问题描述完==上一位星球水友问的是36亿日志后台分页查询,紧接着又来了
分类:
其他好文 时间:
2020-11-10 11:30:25
阅读次数:
10
互联网业务,绝大部分场景,会使用缓存服务。《选redis还是memcache,源码怎么说?》《选redis还是mc,面试官究竟想考察啥?》《memcache内核的知识点,值得收藏》但有时候,确实会使用到进程内存缓存/数据库,这个时候,LevelDB就能派上用场了。啥是LevelDB?LevelDB是Google开发的,一个速度非常块的KV存储库(storagelibrary),它支持字符串的key
分类:
数据库 时间:
2020-11-10 11:29:35
阅读次数:
12
上篇《缓冲池(bufferpool),彻底懂了!》介绍了InnoDB缓冲池的工作原理。简单回顾一下:(1)MySQL数据存储包含内存与磁盘两个部分;(2)内存缓冲池(bufferpool)以页为单位,缓存最热的数据页(datapage)与索引页(indexpage);(3)InnoDB以变种LRU算法管理缓冲池,并能够解决“预读失效”与“缓冲池污染”的问题;画外音:细节详见《缓冲池(bufferp
分类:
其他好文 时间:
2020-11-10 11:28:25
阅读次数:
7