Redis与Mysql的区别
①.mysql是关系型数据库,Redis是内存数据库。
②.mysql用于持久化的存储数据到硬盘,而redis用于存储使用较为频繁的数据到内存中
Redis支持的数据类型
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
Redis为什么访问这么快
①.纯内存操作,读写操作都是在内存上完成的。
②.Redis整体就是一个哈希表来保存所有的键值对,而哈希表的时间复杂度是O(1),只需要计算每个键的哈希值,便知道对应的哈希桶位置,定位桶里面的entry找打对应数据。
③.Redis使用的是非阻塞IO-IO多路复用,使用了单线程来轮询描述符,将数据库的开、关、读、写都转换成了事件,再加上Redis自身的事件处理模型将epoll中的连接,读写,关闭都转换为了时间,不在I/O上浪费过多的时间。
④.采用单线程模型,保证了每个操作的原子性,也减少了线程的上下文切换和竞争。