摘要: Redis 命令大致可分为以下几种: 服务端(server)命令 客户端(client)命令 键命令(key) 数据类型命令 功能应用命令 这本《Redis 常用命令手册》介绍了 Redis 中经常使用的命令,包括键命令和数据类型命令,其中数据类型命令包括 String、List、Hash、Set 阅读全文
posted @ 2022-08-12 15:40 随遇而安== 阅读(55) 评论(0) 推荐(0)
摘要: 本节对 Redis 的常用配置项和基本命令做简单的总结,您可以把本篇文章看做简版的速查手册。不过,需要注意的是由于 Redis 不同版本的差异,配置项会多少存在一些不同,但总体的来说,大同小异。 基本配置 port 6379 # 监听端口号,默认为6379,如果你设为 0 ,redis 将不在 so 阅读全文
posted @ 2022-08-12 15:38 随遇而安== 阅读(68) 评论(0) 推荐(0)
摘要: Python 使用 Redis 相对比较简单,Python 专门提供了操作 Redis 的第三方模块,即 redis 模块,该模块可以直接使用 Python 包管理工具pip来安装。本节内容适合 Python 开发人员阅读。 安装redis模块 下面以 Windows 系统为例,使用包管理工具安装 阅读全文
posted @ 2022-08-12 15:37 随遇而安== 阅读(149) 评论(0) 推荐(0)
摘要: 通过 PHP 使用 Redis 之前,同样需要做一些准备工作,首先你应该熟练掌握 PHP 语言,再者是已经安装了 PHP Redis 扩展程序。本节内容是专门为 PHP 程序开发人员准备的。 安装扩展程序 首先下载 PHP Redis 扩展程序(点击前往),下载的扩展程序要与 Redis 版本相符合 阅读全文
posted @ 2022-08-12 15:36 随遇而安== 阅读(89) 评论(0) 推荐(0)
摘要: 在实际的业务场景中,Redis 一般和其他数据库搭配使用,用来减轻后端数据库的压力,比如和关系型数据库 MySQL 配合使用。Redis 会把 MySQL 中经常被查询的数据缓存起来,比如热点数据,这样当用户来访问的时候,就不需要到 MySQL 中去查询了,而是直接获取 Redis 中的缓存数据,从 阅读全文
posted @ 2022-08-12 15:35 随遇而安== 阅读(110) 评论(0) 推荐(0)
摘要: 在开始学习本节内容之前, 首先需要您掌握 Java 编程语言,其次确定您已经安装了 Redis 服务及 Java Redis 驱动,并且能够成功运行 Java 程序。 本节介绍如何在 Java 中使用 Redis。 安装Redis驱动 如果想在 Java 环境下操作 Redis ,您需要安装相应的 阅读全文
posted @ 2022-08-12 15:35 随遇而安== 阅读(114) 评论(0) 推荐(0)
摘要: 在分布式系统中,当不同进程或线程一起访问共享资源时,会造成资源争抢,如果不加以控制的话,就会引发程序错乱。此时使用分布式锁能够非常有效的解决这个问题,它采用了一种互斥机制来防止线程或进程间相互干扰,从而保证了数据的一致性。 提示:如果对分布式系统这一概念不清楚,可参考百度百科《分布式系统》,简而言之 阅读全文
posted @ 2022-08-12 15:34 随遇而安== 阅读(66) 评论(0) 推荐(0)
摘要: 在 Redis 主从复制模式中,因为系统不具备自动恢复的功能,所以当主服务器(master)宕机后,需要手动把一台从服务器(slave)切换为主服务器。在这个过程中,不仅需要人为干预,而且还会造成一段时间内服务器处于不可用状态,同时数据安全性也得不到保障,因此主从模式的可用性较低,不适用于线上生产环 阅读全文
posted @ 2022-08-12 15:33 随遇而安== 阅读(471) 评论(0) 推荐(0)
摘要: 在软件的架构中,主从模式(Master-Slave)是使用较多的一种架构。主(Master)和从(Slave)分别部署在不同的服务器上,当主节点服务器写入数据时,同时也会将数据同步至从节点服务器,通常情况下,主节点负责写入数据,而从节点负责读取数据。 主从模式解析 主从模式的结构图如下: 图1:Re 阅读全文
posted @ 2022-08-12 15:32 随遇而安== 阅读(160) 评论(0) 推荐(0)
摘要: AOF 被称为追加模式,或日志模式,是 Redis 提供的另一种持久化策略,它能够存储 Redis 服务器已经执行过的的命令,并且只记录对内存有过修改的命令,这种数据记录方法,被叫做“增量复制”,其默认存储文件为appendonly.aof。 开启AOF持久化 AOF 机制默认处于未开启状态,可以通 阅读全文
posted @ 2022-08-12 15:31 随遇而安== 阅读(174) 评论(0) 推荐(0)
摘要: Redis 是一款基于内存的非关系型数据库,它会将数据全部存储在内存中。但是如果 Redis 服务器出现某些意外情况,比如宕机或者断电等,那么内存中的数据就会全部丢失。因此必须有一种机制能够保证 Redis 储存的数据不会因故障而丢失,这就是 Redis 的数据持久化机制。数据的持久化存储是 Red 阅读全文
posted @ 2022-08-12 15:30 随遇而安== 阅读(103) 评论(0) 推荐(0)
摘要: Redis SAVE 命令用于创建当前数据库的备份文件,文件名默认为dump.rdb。备份数据库数据可以增强对数据的保护,提升数据的安全性。当数据不小心丢失或者被删除时,我们就可以通过相应的操作进行数据恢复。本节介绍 Redis 的数据备份和数据还原操作。 备份数据 SAVE 命令基本语法如下: r 阅读全文
posted @ 2022-08-12 15:29 随遇而安== 阅读(105) 评论(0) 推荐(0)
摘要: 我们知道, Redis 服务器是以单线程的方式来处理客户端的网络 IO 请求的。如果每执行一次请求都要创建和断开一次连接,就会消耗过多的时间,导致执行效率降低。因此 Redis 提供了 Pipeline(管道技术),使用该技术可以一次性向服务器发送多条命令,并返回多个执行结果。这样就节省了发送命令和 阅读全文
posted @ 2022-08-12 15:28 随遇而安== 阅读(46) 评论(0) 推荐(0)
摘要: Redis 分区技术(又称 Redis Partition)指的是将 Redis 中的数据进行拆分,然后把拆分后的数据分散到多个不同的 Redis 实例(即服务器)中,每个实例仅存储数据集的某一部分(一个子集),我们把这个过程称之为 Redis 分区操作。 Redis 实例指的是一台安装了 Redi 阅读全文
posted @ 2022-08-12 15:27 随遇而安== 阅读(191) 评论(0) 推荐(0)
摘要: 为了解 Redis 在不同配置环境下的性能表现,Redis 提供了一种行性能测试工具 redis-benchmark(也称压力测试工具),它通过同时执行多组命令实现对 Redis 的性能测试。性能测试的作用是让我们了解 Redis 服务器的性能优劣。在实际的业务场景中,性能测试是必不可少的。在业务系 阅读全文
posted @ 2022-08-12 15:26 随遇而安== 阅读(137) 评论(0) 推荐(0)
摘要: 从 Redis 2.6 版本开始,Redis 使用内置的 Lua 解释器执行脚本,这意味着我们可以直接在 Redis 客户端执行Lua 脚本 ,于此同时 Redis 还非常贴心地提供了用于编写 Lua 脚本的EVAL命令。 第一个Lua脚本命令 Lua 是一种轻量小巧、开源的脚本语言,用标准 C语言 阅读全文
posted @ 2022-08-12 15:25 随遇而安== 阅读(58) 评论(0) 推荐(0)
摘要: Redis 事务的目的是方便用户一次执行多个命令。执行 Redis 事务可分为三个阶段: 开始事务 命令入队 执行事务 Redis事务特性 Redis 事务具有两个重要特性: 1) 单独的隔离操作 事务中的所有命令都会被序列化,它们将按照顺序执行,并且在执行过的程中,不会被其他客户端发送来的命令打断 阅读全文
posted @ 2022-08-12 15:23 随遇而安== 阅读(73) 评论(0) 推荐(0)
摘要: 在 Redis 3.2 版本中,新增了存储地理位置信息的功能,即 GEO(英文全称 geographic),它的底层通过 Redis 有序集合(zset)实现。不过 Redis GEO 并没有与 zset 共用一套的命令,而是拥有自己的一套命令。Redis GEO 提供了 6 个常用命令: GEOA 阅读全文
posted @ 2022-08-12 15:22 随遇而安== 阅读(148) 评论(0) 推荐(0)
摘要: 布隆过滤器(Bloom Filter)是 Redis 4.0 版本提供的新功能,它被作为插件加载到 Redis 服务器中,给 Redis 提供强大的去重功能。相比于 Set 集合的去重功能而言,布隆过滤器在空间上能节省 90% 以上,但是它的不足之处是去重率大约在 99% 左右,也就是说有 1% 左 阅读全文
posted @ 2022-08-12 15:21 随遇而安== 阅读(439) 评论(0) 推荐(0)
摘要: Redis Stream 是 Redis 5.0 版本引入的一种新数据类型,同时它也是 Redis 中最为复杂的数据结构,本节主要对 Stream 做相关介绍。 什么是Stream? Stream 实际上是一个具有消息发布/订阅功能的组件,也就常说的消息队列。其实这种类似于 broker/consu 阅读全文
posted @ 2022-08-12 15:20 随遇而安== 阅读(303) 评论(0) 推荐(0)
摘要: Redis PubSub 模块又称发布订阅者模式,是一种消息传递系统,实现了消息多播功能。发布者(即发送方)发送消息,订阅者(即接收方)接收消息,而用来传递消息的链路则被称为 channel。在 Redis 中,一个客户端可以订阅任意数量的 channel(可译为频道)。 消息多播:生产者生产一次消 阅读全文
posted @ 2022-08-12 15:19 随遇而安== 阅读(117) 评论(0) 推荐(0)
摘要: Redis 经常使用的数据类型有字符串、列表、散列、集合和有序集合,但这些类型并不能满足所有的应用场景,因此,Redis 的后续版本不断的扩增其他数据类型来增强 Redis 适用能力。在 Redis 2.8.9 版本中新增了 HyperLogLog 类型。 什么是HyperLoglog HyperL 阅读全文
posted @ 2022-08-12 15:18 随遇而安== 阅读(45) 评论(0) 推荐(0)
摘要: Redis 提供了一些操作客户端(client)的命令,比如查询所有已连接到服务器的客户端数量,控制客户端的连接状态(关闭或者挂起)等。通过客户命令我们可以轻松的实现对客户端的管理、控制。Redis 服务器通过监听 TCP 端口的方式来接受客户端的连接。当一个连接建立后,Redis 会自动执行以下过 阅读全文
posted @ 2022-08-12 15:17 随遇而安== 阅读(583) 评论(0) 推荐(0)
摘要: Redis 服务器是对客户端提供服务的主体,只要是安装了 Redis 数据库的计算机都可以通过本地,或者远程的方式对外提供服务。Redis 服务器能够以高可用集群的方式对外提供服务。所谓高可用集群,指的是多台 Redis 服务器组成的服务器架构,每台服务器都提供相同的服务,从而让服务器达到一个稳定, 阅读全文
posted @ 2022-08-12 15:17 随遇而安== 阅读(47) 评论(0) 推荐(0)
摘要: Redis 提供了诸多安全策略,比如为了保证数据安全,提供了设置密码的功能。Redis 密码设置主要有两种方式:一种是使用CINFIG命令来设置密码;另外一种则是手动修改 Redis 的配置文件。虽然看似前者更为简单,其实两种方式各有特点。本节将对它们进行介绍。 命令配置密码 通过执行以下命令查看是 阅读全文
posted @ 2022-08-12 15:16 随遇而安== 阅读(75) 评论(0) 推荐(0)
摘要: Redis 连接命令是主要用于验证 Redis 服务器的连接状态,比如验证客户端与 Redis 服务器是否连接成功,以及检查服务器运行状态,以及是否断开当前连接等。我们知道,只有当客户端与服务器正常连接后才能够实现彼此的交互、通信。Redis 通过“Redis序列化协议”(简称“RESP”),实现客 阅读全文
posted @ 2022-08-12 15:15 随遇而安== 阅读(319) 评论(0) 推荐(0)
摘要: 顾名思义,Redis zset(有序集合)中的成员是有序排列的,它和 set 集合的相同之处在于,集合中的每一个成员都是字符串类型,并且不允许重复;而它们最大区别是,有序集合是有序的,set 是无序的,这是因为有序集合中每个成员都会关联一个 double(双精度浮点数)类型的 score (分数值) 阅读全文
posted @ 2022-08-12 15:14 随遇而安== 阅读(153) 评论(0) 推荐(0)
摘要: Redis set (集合)遵循无序排列的规则,集合中的每一个成员(也就是元素,叫法不同而已)都是字符串类型,并且不可重复。Redis set 是通过哈希映射表实现的,所以它的添加、删除、查找操作的时间复杂度为 O(1)。集合中最多可容纳 2^32 - 1 个成员(40 多亿个)。Redis set 阅读全文
posted @ 2022-08-12 15:13 随遇而安== 阅读(69) 评论(0) 推荐(0)
摘要: Redis hash(哈希散列)是由字符类型的 field(字段)和 value 组成的哈希映射表结构(也称散列表),它非常类似于表格结构。在 hash 类型中,field 与 value 一一对应,且不允许重复。Redis hash 特别适合于存储对象。一个 filed/value 可以看做是表格 阅读全文
posted @ 2022-08-12 15:12 随遇而安== 阅读(426) 评论(0) 推荐(0)
摘要: Redis list(列表)相当于 Java 语言中的 LinkedList 结构,是一个链表而非数组,其插入、删除元素的时间复杂度为 O(1),但是查询速度欠佳,时间复杂度为 O(n)。当向列表中添加元素值时,首先需要给这个列表指定一个 key 键,然后使用相应的命令,从列表的左侧(头部)或者右侧 阅读全文
posted @ 2022-08-12 15:11 随遇而安== 阅读(119) 评论(0) 推荐(0)
摘要: Redis string 类型提供了一些专门操作数值的命令,比如 INCRBY(自增)、DECRBR(自减)、INCR(加1) 和 DECR(减1) 等命令。数值操作,同样有特定的应用场景,比如常见的点赞、取消点赞、关注、取消关注等,这类和计数相关的场景都可以使用数值操作来实现。注意:此时 key 阅读全文
posted @ 2022-08-12 15:10 随遇而安== 阅读(385) 评论(0) 推荐(0)
摘要: 在平时开发过程中,经常会有一些 bool 类型数据需要存取。比如记录用户一年内签到的次数,签了是 1,没签是 0。如果使用 key-value 来存储,那么每个用户都要记录 365 次,当用户成百上亿时,需要的存储空间将非常巨大。为了解决这个问题,Redis 提供了位图结构。位图(bitmap)同样 阅读全文
posted @ 2022-08-12 15:09 随遇而安== 阅读(140) 评论(0) 推荐(0)
摘要: Redis 是一种键值(key-value)型的缓存型数据库,它将数据全部以键值对的形式存储在内存中,并且 key 与 value 一一对应。这里的 key 被形象的称之为密钥,Redis 提供了诸多操作这把“密钥”的命令,从而实现了对存储数据的管理。您可以把 key 看成 value 的变量,通过 阅读全文
posted @ 2022-08-12 15:08 随遇而安== 阅读(93) 评论(0) 推荐(0)
摘要: string(字符串)是 Redis 中最简单的数据类型。我们知道,Redis 所有数据类型都是以 key 作为键,通过检索这个 key 就可以获取相应的 value 值。Redis 存在多种数据类型,比如字符串、列表、哈希散列等,它们对应的 value 结构各不相同。本节先讲解字符串的相关知识。 阅读全文
posted @ 2022-08-12 15:08 随遇而安== 阅读(62) 评论(0) 推荐(0)
摘要: Redis 命令用于在 Redis 服务器上执行一些操作,而命令运行的方式是通过客户端命令行来执行的,这种方式也被称为“命令行模式”。因此想要在 Redis 服务器上运行命令,您首先需要开启一个 Redis 客户端。操作方法如下:在 CMD 命令行输入以下命令启动一个 Redis 客户端: redi 阅读全文
posted @ 2022-08-12 15:06 随遇而安== 阅读(69) 评论(0) 推荐(0)
摘要: 经过前面介绍,我们知道 Redis 是 Key-Value 类型缓存型数据库,Redis 为了存储不同类型的数据,提供了五种常用数据类型,如下所示: string(字符串) hash(哈希散列) list(列表) set(集合) zset(sorted set:有序集合) 注意:这里指的数据类型是 阅读全文
posted @ 2022-08-12 15:05 随遇而安== 阅读(31) 评论(0) 推荐(0)
摘要: 在 Redis 的安装目录中有一个名为 redis.windows.conf 的配置文件,若在 Linux 中则为 redis.conf,本节以 Windows 系统为例对该文件进行讲解。 查看配置项 您可以使用 Redis 的CONFIG命令来查看或者更改 Redis 的配置信息。语法格式如下: 阅读全文
posted @ 2022-08-12 15:04 随遇而安== 阅读(61) 评论(0) 推荐(0)
摘要: 相比于 Windows 系统而言,Redis 更适合于在 Linux 系统上使用,这是由 Redis 的底层机制决定的。本节介绍如何在 Linux 发行版 Ubuntu 系统上安装 Redis 数据库。 了解Redis版本 Redis 版本号采用国际标准惯例,即“主版本号.副版本号.补丁级别”。一个 阅读全文
posted @ 2022-08-12 15:03 随遇而安== 阅读(408) 评论(0) 推荐(0)
摘要: 为便于大多数读者学习本套教程,教程中采用 Windows 系统对 Redis 数据库进行讲解。虽然 Redis 官方网站没有提供 Windows 版的安装包,但可以通过 GitHub 来下载 Windows 版 Redis 安装包,下载地址:点击前往。 注意:Windows 安装包是某位民间“大神” 阅读全文
posted @ 2022-08-12 15:02 随遇而安== 阅读(166) 评论(0) 推荐(0)
摘要: 总有一些话 来不及说了 总有一个人 是心口的朱砂 想起那些花 那些傻 眼泪落下 只留一句 你现在好吗 如果爱忘了 泪不想落下 那些幸福啊 让她替我到达 如果爱懂了 承诺的代价 不能给我的 请完整给她 总有些牵挂 旧的像伤疤 越是不碰它 越隐隐的痛在那 想你的脸颊 你的发 我不害怕 就让时间 给我们回 阅读全文
posted @ 2022-08-12 14:26 随遇而安== 阅读(61) 评论(0) 推荐(0)
摘要: 非谓语动词是动词的一种特殊形式。和一般动词相比,非谓语动词的最大特点是不能单独作谓语。非谓语动词包括不定式、动名词、现在分词和过去分词四种形式。以动词do为例,非谓语动词的各种形式总结见表一;非谓语动词的常用句法功能总结见表二: 阅读全文
posted @ 2022-08-12 14:03 随遇而安== 阅读(70) 评论(0) 推荐(0)
摘要: 1.damage 破坏 2.lean 倾斜 3.experiment 实验 4.graduate 毕业 5.candidate 申请人 6.directly 立即 7.define 说明 8.aim 目标 9.aid 帮助 10.see 看见 11.teach 教授 12. hope 希望 13.r 阅读全文
posted @ 2022-08-12 13:57 随遇而安== 阅读(36) 评论(0) 推荐(0)