Redis使用手册
上QQ阅读APP看书,第一时间看更新

3.1 散列简介

Redis的散列键会将一个键和一个散列在数据库里关联起来,用户可以在散列中为任意多个字段(f ield)设置值。与字符串键一样,散列的字段和值既可以是文本数据,也可以是二进制数据。

通过使用散列键,用户可以把相关联的多项数据存储到同一个散列里面,以便对这些数据进行管理,或者针对它们执行批量操作。比如图3-2就展示了一个使用散列存储文章数据的例子,在这个例子中,散列的键为article::10086,而这个键对应的散列则包含了4个字段,其中:

图3-2 使用散列存储文章数据

"title"字段存储文章的标题"greeting"。

"content"字段存储文章的内容"hello world"。

"author"字段存储文章的作者名字"peter"。

"create_at"字段存储文章的创建时间"1442744762.631885"。

与之前使用字符串键存储文章数据的做法相比,使用散列存储文章数据只需要在数据库里面创建一个键,并且因为散列的字段名不需要添加任何前缀,所以它们可以直接反映字段值存储的是什么数据。

Redis为散列键提供了一系列操作命令,通过使用这些命令,用户可以:

为散列的字段设置值,或者只在字段不存在的情况下为它设置值。

从散列里面获取给定字段的值。

对存储着数字值的字段执行加法操作或者减法操作。

检查给定字段是否存在于散列当中。

从散列中删除指定字段。

查看散列包含的字段数量。

一次为散列的多个字段设置值,或者一次从散列中获取多个字段的值。

获取散列包含的所有字段、所有值或者所有字段和值。

本章接下来将对以上提到的散列操作进行介绍,说明如何使用这些操作去构建各种有用的应用程序,并在最后详细地说明散列键与字符串键之间的区别。