摘要:
1.什么是Redis Redis是一个基于C语言开发的内存数据库,读写速度非常快,广泛应用于缓存方向。并且,Redis存储的是KV键值对数据。 Redis内置了多种数据类型实现(比如 String、Hash、Sorted Set、Bitmap)。并且,Redis 还支持事务 、持久化、Lua 脚本、 阅读全文
摘要:
1.怎么保证 Redis 挂掉之后再重启数据可以进行恢复?(持久化) 很多时候我们需要持久化数据也就是将内存中的数据写入到硬盘里面,大部分原因是为了之后重用数据(比如重启机器、机器故障之后恢复数据),或者是为了防止系统故障而将数据备份到一个远程位置。 Redis 不同于 Memcached 的很重要 阅读全文
摘要:
对于读写命令来说,Redis 一直是单线程模型。不过,在 Redis 4.0 版本之后引入了多线程来执行一些大键值对的异步删除操作, Redis 6.0 版本之后引入了多线程来处理网络请求(提高网络 IO 读写性能)。 Redis默认十个数据库,默认是第0个。1.Redis 单线程模型了解吗? Re 阅读全文
摘要:
正常缓存流程: 1.缓存穿透 问题来源: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 解决方案: ·接口层增加校验,如用户鉴权校验 阅读全文
摘要:
5 种基础数据结构:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。 这5种数据结构是直接提供给用户使用的,是数据的保存形式,其底层实现主要依赖这8种数据结构:简单动态字符串(SDS)、LinkedList(双向链表)、Hash Table(哈希表) 阅读全文
摘要:
AOP是面向切面编程(Aspect-Oriented Programming)的缩写。 AOP是面向切面编程,OOP(面向对象)编程思想可以解决大部分的代码重复问题。但是有一些问题是处理不了的,比如在父类Animal中多个方法的相同位置出现了重复代码(横切逻辑代码)。AOP是一种编程范式,旨在通过将 阅读全文
摘要:
一种VCS,Version Control System 1.常用命令 git init git remote add <origin><url>//添加远程仓库 git clone//从远程仓库拉取 //修改 git add *//将所有修改从工作区添加至暂存区 git commit -m 'xx 阅读全文
摘要:
Vue 的两个核心功能: 声明式渲染:Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。 响应性:Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM。 渐进式框架: 无需构建步骤,渐 阅读全文
摘要:
C++调python(python文件包含第三方库): 工具:VS2017 QT5插件 Pycharm Anaconda 1.下载Anaconda,配置一个虚拟环境 2.将这个环境里的DLLs和Lib包以及相应py文件,放至C++项目生成.exe文件同级目录下 3.将include和libs放在项目 阅读全文
摘要:
String 真正不可变有下面几点原因: 保存字符串的数组被 final 修饰且为私有的,并且String 类没有提供/暴露修改这个字符串的方法。 String 类被 final 修饰导致其不能被继承,进而避免了子类破坏 String 不可变。 String:不可变,线程安全 StringBuild 阅读全文