为什么使用redis不用map
Java实现的Map是本地缓存,如果有多台实例(机器)的话,每个实例都需要各自保存一份缓存,缓存不具有一致性<br><br>Redis实现的是分布式缓存,如果有多台实例(机器)的话,每个实例都共享一份缓存,缓存具有一致性。<br><br>Java实现的Map不是专业做缓存的,JVM内存太大容易挂掉的。一般用做于容器来存储临时数据,缓存的数据随着JVM销毁而结束。Map所存储的数据结构,缓存过期机制等等是需要程序员自己手写的。<br><br>Redis是专业做缓存的,可以用几十个G内存来做缓存。Redis一般用作于缓存,可以将缓存数据保存在硬盘中,Redis重启了后可以将其恢复。原生提供丰富的数据结构、缓存过期机制等等简单好用的功能。
Redis数据结构
String string-->简单的key-value
list-->有序列表(底层是双向链表)-->可做简单队列<br>
set-->无序列表(去重)-->提供一系列的交集、并集、差集的命令<br>
hash-->哈希表-->存储结构化数据<br>
sortset-->有序集合映射(member-score)-->排行榜