Redis高级篇

86 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

Redis持久化的两种方式

1.RDB 每隔一段时间,Redis主进程会folk一个子进程去做一个数据的快照,这个快照就会持久化到.rdb文件中,这么做的好处是对主进程不会造成太大影响

2.AOF AOF分为三种方式:每秒同步,每次同步,不同步,AOF是redis持久化的默认方式,如果RDB和AOF同时开启的话,会优先使用AOF,因为AOF效率高,数据更安全,相对于RDB的坏处是AOF在redis重启时加载速度要更慢一些,因为AOF是将Redis所有插入语句进行记录来实现持久化的

如何保证Redis中都是热点数据

1.数据淘汰策略:

全局:①noeviction 新写入会报错 ② allkeys-lru 移除最少使用 ③allkeys-random 随机在所有key中移除一个

选择性移除:① volatile-lru 设置过期时间的key中移除最少使用的 ② volatile-random 设置过期时间的key中随机移除 ③ volatils-ttl 设置过期时间的key中更早过期的key移除

缓存降级

当Redis出现问题时,要进行缓存降级,做法是不去数据库查询,直接返回一个默认值

scan命令

Redis Scan 命令用于迭代数据库中的数据库键。

  • SSCAN 命令用于迭代集合键中的元素。
  • HSCAN 命令用于迭代哈希键中的键值对。
  • ZSCAN 命令用于迭代有序集合中的元素(包括元素成员和元素分值)。

单线程,多线程

Redis对外键值存储是单线程的,但是持久化、异步删除、集群同步等是额外的线程执行的。