• Redis基础教程

  • 价格:免费
  • 状态:全书已完结
  • 在读人数:19
  • 热度:956
创建者
  • Share
  • 7 粉丝 3博客
内容简介

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

本书是关于Redis的入门教程,通过本书的学习,您将快速掌握Redis开发的基本技能。

章节目录
  • 第一章 Redis开发入门准备
  • 1.1 什么是Redis
  • Redis 简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启
  • 1.2 Redis的安装指南
  • Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 red
  • 1.3 Redis 的配置文件
  • Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。你可以通过 CONFIG 命令查看或设置配置项。语法Redis CONFIG 命令格式如下:1. redis 12
  • 1.4 Redis中的数据类型
  • Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对
  • 第二章 Redis常用命令
  • 2.1 Redis命令
  • Redis 命令用于在 redis 服务上执行操作。要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。语法Redis 客户端的基本语法为:1. $ redis-cli实例以下实例讲解了如何启动 redis 客户端:启动
  • 2.2 Redis中的键(key)的概念
  • Redis 键命令用于管理 redis 的键。语法Redis 键命令的基本语法如下:1. redis 127.0.0.1:6379> COMMAND KEY_NAME实例1. redis 127.0.0.1:6379> SET w3ckey redis2. OK3. redis 127.0.0.1:6379> DEL w3ckey4.
  • 2.3 Redis中的字符串(String)类型
  • Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 实例redis 127.0.0.1:6379> SET runoobkey redis OK redis 127.0.0.1:6379> GET runoobkey "redis"在以上实例
  • 2.4 Redis 哈希(Hash)
  • Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。 实例 127.0.0.1:6379> HMSET runoobkey name "redis tutorial" description "redis basic c
  • 2.5 Redis 中列表(List)的概念
  • Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 实例 redis 127.0.0.1:6379> LPUSH runoobkey redis (integer) 1 red
  • 2.6 Redis 中集合(Set)的概念
  • Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。 实例 redis 127.0.0.
  • 2.7 Redis 有序集合(sorted set) 上
  • Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集
  • 2.7 Redis 有序集合(sorted set) 下
  • 接上一节的有系集合命令。12.Zremrangebylex 命令 Redis Zremrangebylex 命令用于移除有序集合中给定的字典区间的所有成员。 语法 redis Zremrangebylex命令基本语法如下: redis 127.0.0.1:6379> ZREMRANGEBYLEX key min max可用版本 >= 2.8.9 返回
  • 2.8 Redis中的HyperLogLog
  • Redis 在 2.8.9 版本添加了 HyperLogLog 结构。Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogL
  • 2.9 Redis中的订阅概念(消息通信模式)
  • Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消
  • 第三章 Redis中的事务
  • Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 1.批量操作在发送 EXEC 命令前被放入队列缓存。 2.收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。 3.在事务执行过程,其他客户端提交
  • 3.1 Redis事务中的Discard 命令
  • Redis Discard 命令用于取消事务,放弃执行事务块内的所有命令。 语法 redis Discard 命令基本语法如下: redis 127.0.0.1:6379> DISCARD可用版本 >= 2.0.0 返回值:总是返回 OK 实例 redis 127.0.0.1:6379&gt
  • 3.2 Redis事务中的Exec 命令的用法
  • Redis Exec 命令用于执行所有事务块内的命令。 语法 redis Exec 命令基本语法如下: redis 127.0.0.1:6379> Exec可用版本 >= 1.2.0 返回值:事务块内所
  • 3.3 Redis事务中的Multi 命令
  • Redis Multi 命令用于标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。 语法 redis Multi 命令基本语法如下: redis 127.0.0.1:6379> Multi可
  • 3.4 Redis中的Unwatch命令的用法
  • Redis Unwatch 命令用于取消 WATCH 命令对所有 key 的监视。 语法 redis Unwatch 命令基本语法如下: redis 127.0.0.1:6379> UNWATCH 可用版本 >= 2.2.0 返回值:总是返回 OK 实例 redis
  • Redis事务中的Watch 命令
  • Redis Watch 命令用于监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断 语法 redis Watch 命令基本语法如下:WATCH key [key ...]可用版本>= 2.2.0 返回值:总是返回 OK 。 实例 redis> WATCH lock lock_times
  • 第四章 Redis中的脚本
  • Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。 语法 Eval 命令的基本语法如下: redis 127.0.0.1:6379> EVAL sc
  • 第五章 Redis 连接操作
  • Redis 连接命令主要是用于连接 redis 服务。 实例 以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: redis 127.0.0.1:6379> AUTH "password" OK red
  • 第六章 Redis管理服务器的命令
  • Redis 服务器命令主要是用于管理 redis 服务。 实例 以下实例演示了如何获取 redis 服务器的统计信息:redis 127.0.0.1:6379> INFO# Server redis_version:2.8.13 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:c22
  • 6.1 Redis常用的服务器管理命令(上)
  • 1.Bgrewriteaof 命令 Redis Bgrewriteaof 命令用于异步执行一个 AOF(AppendOnly File) 文件重写操作。重写会创建一个当前 AOF 文件的体积优化版本。即使 Bgrewriteaof 执行失败,也
  • 6.2 Redis常用服务器管理命令(中)
  • 4.Client List 命令 Redis Client List 命令用于返回所有连接到服务器的客户端信息和统计数据。 语法redis Client List 命令基本语法如下: redis 127.0.0.1:6379> CLIENT LIST可用版本>=
  • 6.3 Redis常用服务器命令(下)
  • 9.Command Count 命令 Redis Command Count 命令用于统计 redis 命令的个数。 语法 redis Command Count 命令基本语法如下: redis 127.0.0.1:6379> COMMAND COUNT可用版本>= 2.8.13 返回值:redis 命令数。 实例 redis 127.0.0.1:6379&gt
  • 第七章 Redis高级教程
  • 本章主要介绍Redis中的一些高级操作,比如数据备份与恢复,性能测试等方面的内容。
  • 7.1 Redis 数据备份与恢复
  • Redis SAVE 命令用于创建当前数据库的备份。 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 redis 127.0.0.1:6379> SAVE OK该命令将在 redis
  • 7.2 Redis中的安全
  • 我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。 实例我们可以通过以下命令查看是否设置了密码验证: 127.0.0.1:6379> CO
  • 7.3 Redis中的性能测试
  • Redis 性能测试是通过同时执行多个命令实现的。 语法 redis 性能测试的基本命令如下: redis-benchmark [option] [option value]实例 以下实例同时执行 10000 个请求来检测性能: $ red
  • 7.4 Redis 客户端连接技术
  • Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:首先,客户端 socket 会被设置为非阻塞模式,因为 Red
  • 7.5 Redis 管道技术
  • Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 服务端处理命令,并将结果返回给客户端。Redis 管道技术 Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。 实例 查看 redis
  • 7.6 Redis 分区技术
  • 分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。 分区的优势 1.通过利用多台计算机内存的和值,允许我们构造更大的数据库。 2. 通过多核和多台计算机,允许我们扩展计算能力;通过多台计算机和网络适配器,允许我们扩展网络带宽。分区的不足 redis的一些特性在分区方面表现的不是很好:1.涉及多个key的操作通常
  • 7.7 在Java系统中使用 Redis
  • 安装 开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:1.首先你需要下载驱动包 下载 jedis.jar,确保下载最新驱动包。 2.在你的 classpa
  • 7.8 在PHP中使用 Redis
  • 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动:下载地址为:https://github.com/phpredis/phpredis/releases。PHP安装redis扩展以下操作需要在下载的 phpredis 目录中完成: $
读者评论
  • 你还没登录,点击这里
  • 本书评论
最近这些人在读这本书