摘要: Redis 本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-V 阅读全文
posted @ 2020-09-27 20:08 架构分享 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 一面 介绍项目 java 线程池的实现原理,threadpoolexecutor关键参数解释 hashmap的原理,容量为什么是2的幂次 为什么要同时重写hashcode和equals ConcurrentHashMap如何实现线程安全? 介绍Java多线程的5大状态,以及状态图流转过程 介绍下Sy 阅读全文
posted @ 2020-09-27 16:25 架构分享 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL架构与历史A.并发控制 1.共享锁(shared lock,读锁):共享的,相互不阻塞的 2.排他锁(exclusive lock,写锁):排他的,一个写锁会阻塞其他的写锁和读锁 B.事务 1.事务ACID * 原子性(atomicity)一个事务必须被视为一个不可分割的最小工作单元, 阅读全文
posted @ 2020-09-27 15:21 架构分享 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一、键值设计 1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id (2)【建议】:简洁性 保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如: (3)【强制】:不要包含特殊字符 反例:包 阅读全文
posted @ 2020-09-27 14:47 架构分享 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 一、什么是bigkey 在Redis中,一个字符串最大512MB,一个二级数据结构(例如hash、list、set、zset)可以存储大约40亿个(2^32-1)个元素,但实际上中如果下面两种情况,我就会认为它是bigkey。 字符串类型:它的big体现在单个value值很大,一般认为超过10KB就 阅读全文
posted @ 2020-09-27 10:21 架构分享 阅读(314) 评论(0) 推荐(0) 编辑