redis和mysql都是数据库,使用redis做缓存是为了减轻mysql的压力,当数据量大,查询频繁的情况下如果单纯使用mysql压力会非常大。
mysql的底层查询逻辑如下:mysql会将索引文件(类似于字典的目录),比如说id是个主键索引,会将所有id以B+树的形式存放到内存当中。而redis查询,会直接使用key去查询,时间复杂度是o(1)级的,而不用像mysql一样去遍历索引文件(B+树)
redis中的数据结构应用场景举例:
String:不需要持久化的数据或者频繁更新的数据,比如验证码,点赞数
Hash:可以用于存储系统中对象的数据
List:可以实现栈和队列