Redis入门 | 青训营

66 阅读5分钟

Redis 学习笔记

什么是Redis?

Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,可以用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等,并提供了丰富的功能和命令,使其成为一种非常强大和灵活的数据存储解决方案。

Redis 的特点

  • 高性能:Redis完全基于内存操作,读写速度非常快,可以达到每秒数十万次的操作。
  • 持久化:Redis支持数据持久化到磁盘,可以将数据保存到磁盘上,以防止数据丢失。
  • 复制:Redis支持主从复制,可以将数据复制到多个节点,提高数据的可用性和性能。
  • 集群:Redis可以通过集群模式进行横向扩展,实现高可用和负载均衡。
  • 丰富的数据结构:Redis提供了多种数据结构,如字符串、哈希表、列表、集合、有序集合等,使其适用于各种应用场景。
  • 支持事务:Redis支持事务操作,通过MULTI、EXEC、WATCH等命令实现事务操作的一致性和原子性。
  • 发布/订阅:Redis支持发布与订阅模式,可以用作消息中间件,实现消息的发布和订阅功能。

基本数据结构

字符串(String)

字符串是Redis最基本的数据结构,可以存储任意类型的数据,如文本、数字等。

示例命令:

SET key value  # 设置键值对
GET key  # 获取键对应的值
DEL key  # 删除键值对

哈希表(Hash)

哈希表是一个键值对集合,每个键都对应一个值,类似于关系型数据库中的表。

示例命令:

HSET key field value  # 设置哈希表中字段的值
HGET key field  # 获取哈希表中字段的值
HDEL key field  # 删除哈希表中的字段

列表(List)

列表是一个有序的字符串集合,可以在列表的头部或尾部进行元素的插入和删除操作。

示例命令:

LPUSH key value1 value2  # 在列表头部插入元素
RPUSH key value3 value4  # 在列表尾部插入元素
LPOP key  # 从列表头部删除元素
RPOP key  # 从列表尾部删除元素

集合(Set)

集合是一个无序的字符串集合,不允许出现重复元素。

示例命令:

SADD key member1 member2  # 向集合中添加成员
SMEMBERS key  # 获取集合中的所有成员
SREM key member1  # 从集合中移除成员

有序集合(Sorted Set)

有序集合是一个有序的字符串集合,每个成员都关联一个分数,可以根据分数进行排序。

示例命令:

ZADD key score1 member1 score2 member2  # 向有序集合中添加成员和分数
ZRANGE key start stop  # 按照索引范围获取有序集合中的成员
ZREM key member1  # 从有序集合中移除成员

其他常用命令(续)

除了上述基本数据结构的命令外,Redis还提供了许多其他常用命令,如:

  • 键操作:KEYS、EXISTS、DEL、TTL等命令用于对键进行操作,如获取键列表、检查键是否存在、删除键以及获取键的生存时间等。
  • 批量操作:MSET、MGET、MDEL等命令可用于同时对多个键进行操作,实现批量设置、获取和删除操作。
  • 过期时间:EXPIRE、PERSIST、TTL等命令用于设置键的过期时间,或获取键的剩余生存时间。
  • 排序:SORT命令可用于对列表、集合和有序集合进行排序操作,并返回排序结果。
  • 事务:MULTI、EXEC、DISCARD等命令用于进行事务操作,实现一系列命令的原子性执行。
  • 发布/订阅:PUBLISH、SUBSCRIBE、UNSUBSCRIBE等命令用于实现发布与订阅模式,允许消息的发布者和订阅者进行消息的传递。
  • 持久化:SAVE、BGSAVE、LASTSAVE等命令用于对数据进行持久化操作,将数据保存到磁盘上。
  • 主从复制:SLAVEOF、REPLICAOF等命令用于设置主从复制关系,实现数据的复制和同步。
  • 管道:Redis支持管道操作,可以将多个命令一次性发送给服务器执行,提高操作的效率。
  • Lua脚本:EVAL、EVALSHA等命令可用于执行Lua脚本,实现复杂的业务逻辑。

以上仅是Redis提供的一小部分命令,还有许多其他命令可以根据需要进行学习和使用。

安装和启动Redis

要使用Redis,首先需要将其安装在本地环境中。以下是安装和启动Redis的简要步骤:

  1. 访问Redis官网(redis.io)并下载最新版本的Redis。

  2. 解压下载的Redis压缩包。

  3. 使用终端进入Redis目录,执行以下命令编译Redis:

    $ make
    
  4. 编译完成后,执行以下命令启动Redis服务器:

    $ src/redis-server
    

    默认情况下,Redis将在本地监听端口6379。

  5. 在另一个终端窗口中,执行以下命令连接到Redis服务器:

    $ src/redis-cli
    

    现在,你可以在Redis命令行界面上执行各种Redis命令了。

总结

Redis是一个功能强大且易于使用的内存数据结构存储系统,提供了多种数据结构和丰富的命令,适用于各种应用场景,如缓存、会话存储、排行榜、实时统计等。通过学习Redis的基本数据结构和常用命令,你可以更好地了解和使用Redis,并将其应用于实际项目中。

希望这份Redis学习笔记对你有所帮助!如果你有任何其他问题,请随时提问。