问题导读
一、Redis 支持哪些数据类型?
二、Redis 的优势有哪些?
三、redis 过期键的删除策略?
01
Redis 支持哪些数据类型?
正经回答:
Redis 支持五种数据类型:
string(字符串)
hash(哈希)
list(列 表)
set(集合)
zsetsorted set(有序集合)
我们实际项目中比较常用的是 string,hash 如果你是 Redis 中高级用户,还需要加上下面 几种数据结构HyperLogLog、Geo、Pub/Sub。
如果你说还玩过 Redis Module,像 BloomFilter,RedisSearch,Redis-ML,也是加分项。
分享朋友圈,每天进步一点点~
02
Redis 的优势有哪些?
正经回答:
性能极高:
Redis 能读的速度是 110000 次/s,写的速度是 81000 次 /s 。
丰富的数据类型:
Redis 支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子操作:
Redis 的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。
单个操作是原子性的。多个操作也支持事务,即原子性,通过 MULTI 和 EXEC 指令包起来。
丰富的特性:
Redis 还支持 publish/subscribe, 通知, key 过期等等特性。
03
redis 过期键的删除策略?
正经回答:
定时删除:
在设置键的过期时间的同时,创建一个定时器 timer.,让定时器在键的过期时间来临时,立即执行对键的删除操作。
惰性删除:
放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期, 如果过期的话,就删除该键;如果没有过期,就返回该键。
定期删除:
每隔一段时间程序就对数据库进行一次检查,删除里面的过期键。
至于要删除多少过期键,以及要检查多少个数据库,则由算法决定。
- End -