redsi前世今生

8大数据类型?

  1. string字符串
  2. list等价于linklist
  3. hash字典等价于hashmap,数组+链表
  4. set等价于hashset键值对是无序的唯一的
  5. zset有序集合
  6. Geospatial 地理位置(GEO)
  7. Hyperloglog 统计
  8. Bitmap 位图

事务?

分为三个阶段,不支持回滚,原子性不保证全部成功或失败只保证全部执行或不执行,无法在执行中获取执行的结果。可以通过watch来监视,如果监视的数据发生了变化则不执行后续的命令。

  1. 事务开始
  2. 命令入队,先入先出。
  3. 事务执行,只有这一步才回去redis服务器执行。

乐观锁?

watch监视数据,在事务中如果被监视的数据发生了变化,这里的变化是指任何意识形态的改变,则事务中的命令不执行。与之对应的是unwatch

springboot集成redis之jedis和lettcue?

springboot2.0之后默认建议使用lettcue,lettcue是勇netty实现的nio模型,对集群支持比jedis好。

spring之redisTemplate?

操作redis的java模板

配置文件?

启动redis指定配置文件,常用的配置有:

  • bind   #绑定ip
  • 设置密码
  • 数据库数量
  • aof
  • rdb

rdb?

默认开启,设置写入磁盘时间,二进制数据快照,自动触发手动触发,自动触发会fork一个子进程做备份的事情,redis服务器还可以干其他事,手动触发redis就无法执行其他事情,直到备份完成。如果数据很多耗费性能,会丢数据。

aof?

需要主动打开,保存redis的插入修改命令,文件会很大。

写入机制:

  1. always  #来一条命令保存一次,不丢失数据,磁盘开销大
  2. everysec  #每一秒一次,只丢一秒数据,
  3. no  #不用管,不可控

重写:把aof中过期、重复、没用的进行合并和删除

订阅发布?

订阅公众号关注,会发文章过来,关注的人就收到了。

集群?

参考此博客1       权威分析

缓存击穿,穿透,雪崩?

  1. 击穿,数据库
  2. 穿透,数据库没有
  3. 雪崩,某一点大面积缓存数据失效

权威分析击穿-穿透-雪崩

你可能感兴趣的:(Redis,redis,面试,数据库,1024程序员节)