Redis入门笔记

Redis入门笔记

leo 585 2021-04-10

Redis简介

Redis全名REmote DIctionary Server(远程字典服务器),是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库基于内存运行支持持久化NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。

Redis特点

  1. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  2. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  3. Redis支持数据的备份,即master-slave模式的数据备份。

Redis应用场景

  1. 内存存储(缓存)和持久化:Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。
  2. 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面。
  3. 模拟类似于HttpSession这种需要设定过期时间的功能,如:用户账号的激活。
  4. 发布、订阅消息系统。
  5. 定时器、计数器。

Redis安装

Redis我们一般安装Linux版本。可以有多种安装方式。我就不再详述,可以参照下面的文章进行安装。

  1. 使用普通方式安装
    Redis安装
  2. 使用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相关命令,但是我们不可能全部都去试一遍,我么可以先记住常用的命令。可以参考以下文章:

  1. Redis常用命令总结
  2. Redis常用命令大全
  3. Redis简易教程之“Redis常用命令”

总结

其实本文只是涉及了Redis的简介、应用场景、数据类型、常用命令,适合刚入门的人群,其实还有很多重要的内容,如Redis的配置、持久化、事务、发布订阅、主从复制、使用Jedis等Redis客户端操作Redis等没有涉及,后续会跟进。