散列简介
Redis 的散列键会将一个键和一个散列在数据库里面关联起来,用户可以在散列里面为任意多个字段(field)设置值。跟字符串键一样,散列的字段和值既可以是文本数据,也可以是二进制数据。
通过使用散列键,用户可以把相关联的多项数据储存到同一个散列里面,以便对这些数据进行管理,又或者针对它们执行批量操作。比如图 3-2 就展示了一个使用散列储存文章数据的例子,在这个例子中,散列的键为 article::10086
,而这个键对应的散列则包含了四个字段,其中:
"title"
字段储存着文章的标题"greeting"
;"content"
字段储存着文章的内容"hello world"
;"author"
字段储存着文章的作者名字"peter"
;"create_at"
字段储存着文章的创建时间"1442744762.631885"
。
图 3-2 使用散列储存文章数据
与之前使用字符串键储存文章数据的做法相比,使用散列储存文章数据只需要在数据库里面创建一个键,并且因为散列的字段名不需要添加任何前缀,所以它们可以直接反映字段值储存的是什么数据。
Redis 为散列键提供了一系列操作命令,通过使用这些命令,用户可以:
为散列的字段设置值,又或者只在字段不存在的情况下为它设置值。
从散列里面获取给定字段的值。
对储存着数字值的字段执行加法操作或者减法操作。
检查给定字段是否存在于散列当中。
从散列里面删除指定字段。
查看散列包含的字段数量。
一次为散列的多个字段设置值,又或者一次从散列里面获取多个字段的值。
获取散列包含的所有字段、所有值又或者所有字段和值。
本章接下来将对以上提到的散列操作进行介绍,说明如何使用这些操作去构建各种有用的应用程序,并在最后详细地说明散列键与字符串键之间的区别。