少量数据存储、高速读写访问是Redis最主要的应用场景。
由表可以看出TRDB应用业务范围最广,MongoDB组要应用于互联网的web业务应用,而Redis只能解决Internet应用环境下的特定应用业务。虽然Redis的应用范围相对有些狭窄,但是在互联网业务环境下的很多大型网站很需要它。
根据Redis官网介绍,Redis可以作为数据库使用,也可以用户缓存处理和消息传递处理。它支持的数据结构有字符串(String)、列表(List)、哈希表(Hash)、集合(Set)、有序集合(Sorted Set)、位图(Bitmap)、Hyperloglog和带半径查询的地理空间(Geospatial)索引。
对于Redis的具体安装大家可以自行去练习安装,相信大家都有这个能力的。
安装好Redis之后,在使用之前,需要注意几点:①Redis对命令大小写不敏感,ping、Ping是一个命令;②Redis对变量大小写敏感,如Name、name是两个变量。
一:Redis存储模式
Redis数据库数据的存储模式,是基于键值Key-Value基本存储原理的基础上,再进行细化分类。
1.字符串-String
字符串是最简单的数据结构,如下所示:
注意:键名要简洁、易读,方便维护;长度最大为512M,不易过长,太长会影响执行效率。
2.列表-List
列表是由若干插入顺序排序的字符串元素组成的集合,也可以理解为一个集合对象,在读写时只能从两头开始操作。数据结构如下所示:
列表说明:①列表内可以出现重复值,比如上图中的值1001可以出现多个;②列表采用的是链表技术实现,插入新值的时候,速度是非常快的;③列表适用于需要快速响应的应用场景,如:聊天记录、博客评论等;④列表的有序排序是指按照插入顺序排序。
3.集合(Set)
集合是指由不重复且无序的字符串元素构成的一个整体。元素不重复意味着集合里的所有元素是唯一的,这也是和列表的主要区别之一。数据结构如下所示:
注意以下几点:①一个集合内不能出现重复值;②一个集合内的值是无序的,不排序;
4.散列表(Hash)
散列表又称哈希表,可以存储多个键值对的映射,是一种无序的数据集合。键必须是唯一的,不能重复,而且必须为字符串型,值可以是字符串型也可以是数字型。所以Hash特别适用于存储一个对象。
注意:①键的内容不应太长,避免占用过多内存,影响执行效率。②散列表更适合于小规模数据结构对象的存储及操作。
5.有序结合(Sorted Set)
有序集合和散列表一样都是有键值对构成的数据集合,主要区别是有序集合根据值进行自动排序,而散列表不排序;有序集合可以对值直接操作,散列表要通过键查找来获取值。有序集合的键也必须是唯一的,值是可以重复的。
注意:①因为有序集合自动排序,所以在数据量多的情况下,检索速度会比散列快;②有序集合支持大量的值更新;③有序集合的键又叫做成员(Member),值又叫做分值(Score)。
二、Redis命令
Redis数据库命令分字符串、列表、集合、散列表、有序集合、发布订阅(pub/sub)、连接(connection)、server脚本、键(Keys)、HyperLogLog、地理空间、事务(Transactions)、集群(Cluster),14大类200多种命令。
关于这些Redis命令的介绍以及使用和注意事项会在后面的文章中逐一详细说明。