一、Redis介绍
Redis是NoSQL系列数据库中,和Memcached最为相似的数据库系统,同属键值存储系统。严格意义上来讲,Memcached并不能算作数据库系统,只能算作中间缓存系统,因为其并不能进行数据的持久化存储。Redis的字面意思是:远程字典服务器(REmote DIctionary Server),和Memcached相比较,提供了更加丰富的数据类型,更被认为是一种数据结构服器。
二、Redis、Memcached比较
和Memcached相比,Redis的优势十分明显。
1. 数据类型:Redis支持更丰富的数据类型,包括字符串(String)、列表(List:可用作队列、堆栈)、集合(Set:可以进行集合的运算)、有序集合(Sorted Set)、哈希表(Hash)等,而Memcached仅支持字符串。
2. 对象大小:Redis支持的对象大小最大支持1GB,而Memcached仅为1MB。
3. 分片(Sharding):可以将数据离散地存储在不同的物理机器上,以克服单台机器的内存大小限制。Memcached是在服务器实现实现分片的,而Redis需要借助于Jedis实现客户端分片,Jedis是Redis官方推荐的使用Java访问Redis的方式。
使用Jedis的分片机制,存储一批数据,在不同的Redis服务器上存储着这批数据的不同部分.而这对客户端来说,而完全透明的,看不到这种差别。另外需要注意,使用Spring Data Redis进行客户端操作时,不提供对分片支持。
三、Redis的使用