Redis简介
Redis全名REmote DIctionary Server(远程字典服务器)
,是完全开源免费
的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库
,基于内存运行
并支持持久化
的NoSQL数据库
,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
Redis特点
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
Redis应用场景
- 内存存储(缓存)和持久化:Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。
- 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面。
- 模拟类似于HttpSession这种需要设定过期时间的功能,如:用户账号的激活。
- 发布、订阅消息系统。
- 定时器、计数器。
Redis安装
Redis我们一般安装Linux版本。可以有多种安装方式。我就不再详述,可以参照下面的文章进行安装。
- 使用普通方式安装
Redis安装 - 使用Docker方式安装
如果不了解Docker可以使用第一种方式安装,不过Docker安装更方便,快捷,不会出现各种如gcc、tcl等问题。
Docker 安装 Redis
教程中的版本比较老,可以上Redis官网或Redis中文网查看最新的版本信息。跟着上述教程都可以成功安装并运行Redis。
Redis数据类型
String(字符串)
string是Redis最基本的类型,一个key对应一个value
。string类型是二进制安全
的。意思是Redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。一个Redis中字符串value最多可以是512M。
List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。它的底层实际是个链表。
Set(集合)
Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,也就是说不允许有重复的值。
Hash(哈希)
Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,value可以是Redis中的任意类型。hash特别适合用于存储对象。类似Java里面的Map<String,Object>。
Zset(有序集合)
zset也叫sorted set即有序集合。Redis zset 和 set 一样也是string类型元素的集合。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
Redis常用命令
Redis Doc中涵盖了所有Redis相关命令,但是我们不可能全部都去试一遍,我么可以先记住常用的命令。可以参考以下文章:
总结
其实本文只是涉及了Redis的简介、应用场景、数据类型、常用命令,适合刚入门的人群,其实还有很多重要的内容,如Redis的配置、持久化、事务、发布订阅、主从复制、使用Jedis等Redis客户端操作Redis等没有涉及,后续会跟进。