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

你可能感兴趣的:(redis,jvm,数据库)