1.Redis 有哪些数据类型,可参考《Redis常见的5种不同的数据类型详解》
5种数据类型:String、List、Set、Hash包含键值对的散列值、ZSet有序集合
String : 封锁一个IP地址、 Incby命令
Hash : 存储用户信息 【id,name,age】 Hash(userkey,age,23) --修改Hget(userKey,id)
2.Redis 内部结构
3.Redis 使用场景
4.Redis 持久化机制,可参考《使用快照和AOF将Redis数据持久化到硬盘中》
RDB:创建一个子进程持久化,速度快,节省磁盘空间;数量大的时候比较耗性能,持久化力度大,是全量替换的
AOF:以日志的方式记录每个写操作,只追加文件 ,备份机制稳定,是刻度的日志文本;占用更多的磁盘空间,恢复速度慢。
5.Redis 集群方案与实现
6.Redis 为什么是单线程的?
Redis是用”单线程-多路复用IO模型”来实现高性能的内存数据服务的,这种机制避免了使用锁,
但是同时这种机制在进行sunion之类的比较耗时的命令时会使redis的并发下降。因为是单一线程,所以同一时刻只有一个操作在进行,所以,耗时的命令会导致并发的下降,不只是读并发,写并发也会下降。而单一线程也只能用到一个CPU核心,所以可以在同一个多核的服务器中,
可以启动多个实例,组成master-master或者master-slave的形式,耗时的读命令可以完全在slave进行。
7.缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
8.使用缓存的合理性问题
9.Redis常见的回收策略