《Redis使用手册》(试读版)
⽬录 以下是《Redis使⽤⼿册》⼀书的完整⽬录,其中标题后⾯带 * 的⼤章都在本⽂档提供了试读。 前⾔* 1. 引⾔* 第⼀部分:数据结构与应⽤ 2. 字符串(String)* 3. 散列(Hash)* 4. 列表(List)* 5. 集合(Set)* 6. 有序集合(Sorted Set) 7. HyperLogLog 8. 位图(bitmap) 9. 地理坐标(GEO) 10. 流(Stream) 之所以⼴受开发者欢迎, 跟它⾃身拥有强⼤的功能以及简洁的设计不⽆关系。 虽然 Redis 拥有各式各样的特点和优点, 但其中最重要的不外乎以下这些: 丰富多样的数据结构 Redis 为⽤户提供了字符串、散列、列表、集合、有序集合、HyperLogLog、位图、流、地理坐标等⼀系列 丰富的数据结构, 每种数据结构都适⽤于解决特定的问题。 在有需要的时候, ⽤户还可以通过事务、Lua 脚本、模块等特性, 扩展已有数据结构的功能, 命令在键不存在时执⾏设置操作, 在键存在时执⾏追加操作。 Redis 会把能够被表示为 long long int 类型的整数以及能够被表示为 long double 类型的浮点数当做数字 来处理。 3. 散列(Hash) 在前⾯的《字符串》⼀章中, 我们曾经看到过如何使⽤多个字符串键去储存相关联的⼀组数据。 ⽐如在字符串键 实现的⽂章储存程序中, 程序就会为每篇⽂章创建四个字符串键, 并把⽂章的标题、内容、作者和创建时间分别0 码力 | 352 页 | 6.57 MB | 1 年前3跟我学Shiro - 张开涛
............................................................................................. 41 散列算法................................................................................................. 数组/String 之间转换。 散列算法 散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的 数据,常见的散列算法如 MD5、SHA 等。一般进行散列时最好提供一个 salt(盐),比如 加密密码“admin”,产生的散列值是“21232f297a57a5a743894a0e4a801fc3”,可以到一 些 md5 解密网站很容易的通过散列值得到密码“admin”,即如果直接对密码进行散列相 果直接对密码进行散列相 对来说破解更容易,此时我们可以加一些只有系统知道的干扰数据,如用户名和 ID(即盐); 这样散列的对象是“密码+用户名+ID”,这样生成的散列值相对来说更难破解。 String str = "hello"; String base64Encoded = Base64.encodeToString(str.getBytes()); String str2 =0 码力 | 219 页 | 4.16 MB | 10 月前3【PyTorch深度学习-龙龙老师】-测试版202112
所示,需要收集较多的由真人书写的 0~9 的数字图片,为了便 于存储和计算,通常把收集的原始图片缩放到某个固定的大小(Size 或 Shape),比如 224 个 像素的行和 224 个像素的列(224 × 224),或者 96 个像素的行和 96 个像素的列(96 × 96), 图片样本将作为输入数据 x。同时,还需要给每一张图片标注一个标签(Label)信息,它将 作为图片的真实值?,这个标签表明这张图片属于哪一个具体的类别,一般通过映射方式 格、粗细等丰富的样式,使得数据集的分布与真实的手写数字图片的分布尽可能地接近, 从而保证了模型的泛化能力。 图 3.2 MNIST 数据集样例图片 现在来讨论图片的表示方法。一张图片包含了ℎ行(Height/Row),?列(Width/Column), 每个位置保存了像素(Pixel)值,像素值一般使用 0~255 的整形数值来表达颜色强度信息, 例如 0 表示强度最低,255 表示强度最高。如果是彩色图片,则每个像素点包含了 1]形状的张量)。图 3.3 演示 了内容为 8 的数字图片的矩阵内容,可以看到,图片中黑色的像素用 0 表示,灰度信息用 0~255 表示,图片中越白的像素点,对应矩阵位置中数值也就越大。 28行28列 图 3.3 图片的表示示意图① ① 素材来自 https://towardsdatascience.com/how-to-teach-a-computer-to-see-with-0 码力 | 439 页 | 29.91 MB | 1 年前3Hello 算法 1.0.0b4 Golang版
5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6. 散列表 91 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 等编程语言默认使用 UTF‑16 编码。 3.5.1. Q & A � 为什么哈希表同时包含线性数据结构和非线性数据结构? 哈希表底层是数组,而为了解决哈希冲突,我们可能会使用“拉链法”(后续散列表章节会讲)。 在拉链法中,数组中每个地址(桶)指向一个链表;当这个链表长度超过一定阈值时,又可能 被转化为树(通常为红黑树)。因此,哈希表可能同时包含线性(数组、链表)和非线性(树) 数据结构。0 码力 | 347 页 | 27.40 MB | 1 年前3Hello 算法 1.0.0b4 Java版
5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6. 散列表 91 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 等编程语言默认使用 UTF‑16 编码。 3.5.1. Q & A � 为什么哈希表同时包含线性数据结构和非线性数据结构? 哈希表底层是数组,而为了解决哈希冲突,我们可能会使用“拉链法”(后续散列表章节会讲)。 在拉链法中,数组中每个地址(桶)指向一个链表;当这个链表长度超过一定阈值时,又可能 被转化为树(通常为红黑树)。因此,哈希表可能同时包含线性(数组、链表)和非线性(树) 数据结构。0 码力 | 342 页 | 27.39 MB | 1 年前3Hello 算法 1.0.0b4 C#版
5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6. 散列表 91 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 等编程语言默认使用 UTF‑16 编码。 3.5.1. Q & A � 为什么哈希表同时包含线性数据结构和非线性数据结构? 哈希表底层是数组,而为了解决哈希冲突,我们可能会使用“拉链法”(后续散列表章节会讲)。 在拉链法中,数组中每个地址(桶)指向一个链表;当这个链表长度超过一定阈值时,又可能 被转化为树(通常为红黑树)。因此,哈希表可能同时包含线性(数组、链表)和非线性(树) 数据结构。0 码力 | 341 页 | 27.39 MB | 1 年前3Hello 算法 1.0.0b4 C++版
5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6. 散列表 92 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 等编程语言默认使用 UTF‑16 编码。 3.5.1. Q & A � 为什么哈希表同时包含线性数据结构和非线性数据结构? 哈希表底层是数组,而为了解决哈希冲突,我们可能会使用“拉链法”(后续散列表章节会讲)。 在拉链法中,数组中每个地址(桶)指向一个链表;当这个链表长度超过一定阈值时,又可能 被转化为树(通常为红黑树)。因此,哈希表可能同时包含线性(数组、链表)和非线性(树) 数据结构。0 码力 | 343 页 | 27.39 MB | 1 年前3Hello 算法 1.0.0b4 Python版
5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6. 散列表 87 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 等编程语言默认使用 UTF‑16 编码。 3.5.1. Q & A � 为什么哈希表同时包含线性数据结构和非线性数据结构? 哈希表底层是数组,而为了解决哈希冲突,我们可能会使用“拉链法”(后续散列表章节会讲)。 在拉链法中,数组中每个地址(桶)指向一个链表;当这个链表长度超过一定阈值时,又可能 被转化为树(通常为红黑树)。因此,哈希表可能同时包含线性(数组、链表)和非线性(树) 数据结构。0 码力 | 329 页 | 27.34 MB | 1 年前3Flask入门教程
SQLAlchemy——一个 Python 数据库工具 (ORM,即对象关系映射)。借助 SQLAlchemy,你可以通过定义 Python 类来表 示数据库里的一张表(类属性表示表中的字段 / 列),通过对这个类进行各种操作 来代替写 SQL 语句。这个类我们称之为模型类,类中的属性我们将称之为字段。 Flask 有大量的第三方扩展,这些扩展可以简化和第三方库的集成工作。我们下面 将使用一个叫做 二的密码散列值,这样即使攻击者拿到了散列值,也几乎无法逆向获取到密码。 Flask 的依赖 Werkzeug 内置了用于生成和验证密码散列值的函 数, werkzeug.security.generate_password_hash() 用来为给定的密码生成 密码散列值,而 werkzeug.security.check_password_hash() 则用来检查给 定的散列值和密码是否对应。使用示例如下所示: 为密码 dog 生成密码 散列值 >>> pw_hash # 查看密码散列值 'pbkdf2:sha256:50000$mm9UPTRI$ee68ebc71434a4405a28d34ae3f170757f b424663dc0ca15198cb881edc0978f' >>> check_password_hash(pw_hash, 'dog') # 检查散列值是否对应密码 dog True0 码力 | 127 页 | 7.62 MB | 1 年前3使用Go与redis构建有趣的应用
data structure store 特点 特点 • 具有多种不不同的数据结构可⽤用,其中包括:字符串串、散列列、列列表、集合、有序集合、位图 (bitmap)、HyperLogLog、地理理坐标(GEO) 特点 • 具有多种不不同的数据结构可⽤用,其中包括:字符串串、散列列、列列表、集合、有序集合、位图 (bitmap)、HyperLogLog、地理理坐标(GEO) • 内存存储 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 特点 • 具有多种不不同的数据结构可⽤用,其中包括:字符串串、散列列、列列表、集合、有序集合、位图 (bitmap)、HyperLogLog、地理理坐标(GEO) • 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) 特点 • 具有多种不不同的数据结构可⽤用,其中包括:字符串串、散列列、列列表、集合、有序集合、位图 (bitmap)、HyperLogLog、地理理坐标(GEO) • 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、0 码力 | 176 页 | 2.34 MB | 1 年前3
共 763 条
- 1
- 2
- 3
- 4
- 5
- 6
- 77