基础知识
redis是由C语言去写的,可以用作为数据库、缓存和消息中间件MQ,它默认拥有16个数据库,且默认使用的是第0个数据库。
redis端口号是6379是因为粉丝效应(redis作者的一个爱豆的名字对应9键)。
Redis的五大数据类型 Redis-key
String
List
Set
Hash
Zset
Redis的三中特殊数据类型
geospatail(关于地理位置空间的)
hyperloglog
bitmaps
1、Redis 为什么是单线程的?
原因:
Redis是很快的,官方表示,Redis是基于内存操作的,CPU不是Redis性能的瓶颈,Redis的瓶颈是根据机器的内存(服务器的内存)和网络带宽,既然可以单线程来实现,图方便所以就用单线程了!
2、Redis 为什么单线程还这么快?
误区1:高性能的服务器一定是多线程的?
A: 不一定
误区2:多线程一定比单线程效率高?
A: 多线程与CPU调度有关,而只有一个CPU时会上下文切换(会消耗一定的资源,是个耗时的操作)
原因:
redis是将所有的数据全部放到内存中的,所以说使用单线程去操作效率就是最高的(对于内存系统来说,没有上下文切换效率就是最高的,多次读写操作都是在一个CPU上的)。