redis与JVM复习思维导向

redis

redis: redis实现原理 内存实现 key/value 吞吐量比较大 端口号 6379

基本数据类型:

字符串 string set/setnx/get incr append trim strlen del

列表list Lpush/rpush lpop/rpop lrange 0 end/-1 llen

集合set sadd sismemeber sranmember scard(元素个数) sdiff(差集) sinter(交集) sunion(并集) srem

哈希hash hset/hget hmset hcard hdel

排序集合socketset zadd zrange zrangebyscore 根据分支返回数据 zrevrangebyscore zrem zcard zcount分值范围当中元素的个数 zrank返回排名

事务: 开启事务 multi 执行事务 exec 取消事务discard 监听watch 监听变量 这个 变量被更改 事务执行失败 unwatch 只要执行了exec 监听自动失效 redis事务不保证在执行过程中的错误进行回滚

持久化: RDB / AOF

RDB快照形式 快 有可能丢失数据 触发时机 1配置文件 2执行save 3.退出时 4.flushall

AOF:日志形式 写的操作 压缩日志 慢 不会丢失数据

缓存穿透:没有击中缓存,数据库中也没有数据,每次查询都会向数据库请求数据 1设置空缓存

缓存击穿:高并发情况,缓存失效,访问量非常大,,没有击中缓存,都要访问数据库,数据库压力倍增 1,设置永久生效 2.加锁同步

缓存雪崩:同一时间大量失效(无缓存),缓存层宕机,1.加锁同步2.缓存预热,3.集群哨兵

复习推荐博文:http://t.csdnimg.cn/hZsKI

JVM

GC 主要区域 堆

JVM运行区域 栈 本地方法栈 程序计数器 堆 方法区

判断垃圾/判断对象已死 1.引用计数法 2.可达性分析法 从正在使用的对象 GCROOT

GCROOT 1,虚拟机栈中正在使用的对象;2本地方法栈中使用的对象;3.常量;4类中静态属性指向的对象

垃圾回收的算法 : 1.标记清除法 最基本 会产生很多内存片段 2.标记复制法 内存分为两半 只有一块在使用 3.标记整理(压缩) 时间稍慢

4.分代整理法 新生代 (伊甸园区,幸存区) 老年代 新生代GC叫做 minorGC 伊甸园区满了 老年代GC叫做FullGC 老年代满了会触发fullGC fullGC老年代和新生代一起GC

复习推荐博文:http://t.csdnimg.cn/NdRsc

相关推荐
WeiQ_1 小时前
解决phpstudy 8.x软件中php8.2.9没有redis扩展的问题
数据库·redis·缓存
DashVector6 小时前
向量检索服务 DashVector产品计费
数据库·数据仓库·人工智能·算法·向量检索
KYGALYX6 小时前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
檀越剑指大厂7 小时前
金仓KReplay:定义数据库平滑迁移新标准
数据库
努力成为一个程序猿.7 小时前
【Flink】FlinkSQL-动态表和持续查询概念
大数据·数据库·flink
毕设十刻8 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
陈果然DeepVersion8 小时前
Java大厂面试真题:Spring Boot+微服务+AI智能客服三轮技术拷问实录(六)
java·spring boot·redis·微服务·面试题·rag·ai智能客服
liliangcsdn8 小时前
如何利用约束提示优化LLM在问题转sql的一致性
数据库·sql
Java爱好狂.9 小时前
分布式ID|从源码角度深度解析美团Leaf双Buffer优化方案
java·数据库·分布式·分布式id·es·java面试·java程序员
Elastic 中国社区官方博客9 小时前
通过混合搜索重排序提升多语言嵌入模型的相关性
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索