• 比如论坛可能会允许用户为帖子添加标签,这些标签既可以对帖子进行归类,又可以让其他用户快速地了解到帖子要讲述的内容;

    • 又比如说,一个图书分类网站可能会允许用户为自己收藏的每一本书添加标签,使得用户可以快速地找到被添加了某个标签的所有图书,并且网站还可以根据用户的这些标签进行数据分析,从而帮助用户找到他们可能会感兴趣的图书;

    • 除此之外,购物网站也可以为自己的商品加上标签,比如“新上架”、“热销中”、“原装进口”等等,方便顾客了解每件商品的不同特点和属性;

    代码清单 5-2 展示了一个使用集合实现的打标签程序,通过这个程序,我们可以为不同的对象添加任意多个标签:同一个对象的所有标签都会被放到同一个集合里面,集合里的每一个元素就是一个标签。


    代码清单 5-2 使用集合实现的打标签程序:


    以下代码展示了如何使用这个打标签程序去为《The C Programming Language》这本书添加标签:

    1. >>> from redis import Redis
    2. >>> client = Redis(decode_responses=True)
    3. >>> book_tags = Tagging(client, "The C Programming Language")
    4. >>> book_tags.add('c') # 添加标签
    5. >>> book_tags.add('programming')
    6. >>> book_tags.get_all_tags() # 查看所有标签
    7. set(['c', 'programming', 'programming language'])
    8. >>> book_tags.count() # 查看标签的数量
    9. 3

    图 5-7 使用打标签程序创建出的集合

    _images/IMAGE_TAGS_2.png