Redis作为一款高性能的数据库,在互联网面试时被越来越多的面试官所接受,不同于大名鼎鼎的关系型数据库,它可以满足实时数据分析和处理的需求, Redis 不针对某一特定类型的数据, key-value 在任何场景下都有应用,而 Redis 的高可用、高性能特性使它在海量数据处理方面占据绝对优势,所以面试官将Redis作为面试用的新宠儿。
Redis的结构非常简单,但它的功能非常强大,它支持很多类型的数据结构,如字符串、 hash、list、 set、 sorted set等,通常可以灵活的使用这些结构的任意组合来存储数据,而这些数据既可以持久化存储,也可以非持久化存储。此外,Redis强大的缓存功能也可以用来提高系统的性能。
在Redis中,可以使用多种方法操作它的数据,通常使用 hot APIs (如:set /del /get)来操作数据,也可以使用 Lua脚本语言来解决相关任务,这样做更节约操作的时间,提高操作的效率。
// 使用 redis API 设置 key/value
redis.set("key1", "value1");
// 使用 redis API 获取value
String value = redis.get("key1");
// 使用 redis API 删除key
redis.del("key1");
另外,Redis还支持pub/sub events,可以用来推送消息等,使用pub/sub还可以实现分布式锁、限流等功能,这些都是面试官们感兴趣的主题。
因此,Redis作为一款高性能,功能强大的数据库,综合来讲,是会成为越来越多公司和面试官的新宠儿。