179. redis 是什么?都有哪些使用场景?
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis 使用场景:
-
数据高并发的读写
-
海量数据的读写
-
对扩展性要求高的数据
180. redis 有哪些功能?
-
数据缓存功能
-
分布式锁的功能
-
支持数据持久化
-
支持事务
-
支持消息队列
181. redis 和 memecache 有什么区别?
-
memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型
-
redis的速度比memcached快很多
-
redis可以持久化其数据
182. redis 为什么是单线程的?
因为 cpu 不是 Redis 的瓶颈,Redis 的瓶颈最有可能是机器内存或者网络带宽。既然单线程容易实现,而且 cpu 又不会成为瓶颈,那就顺理成章地采用单线程的方案了。
关于 Redis 的性能,官方网站也有,普通笔记本轻松处理每秒几十万的请求。
而且单线程并不代表就慢 nginx 和 nodejs 也都是高性能单线程的代表。
183. 什么是缓存穿透