返回顶部
首页 > 资讯 > 数据库 >redis应用之——标签
  • 295
分享到

redis应用之——标签

2024-04-02 19:04:59 295人浏览 薄情痞子
摘要

Mysql:create table book (bookid int,title char(20))engine myisam charset utf8; insert into bo

Mysql

create table book (

bookid int,

title char(20)

)engine myisam charset utf8;

 

insert into book values

(5 , 'PHP圣经'),

(6 , 'ruby实战'),

(7 , 'mysql运维')

(8, 'ruby服务端编程');

 

 

create table tags (

tid int,

bookid int,

content char(20)

)engine myisam charset utf8;

 

insert into tags values

(10 , 5 , 'php'),

(11 , 5 , 'WEB'),

(12 , 6 , 'WEB'),

(13 , 6 , 'ruby'),

(14 , 7 , 'database'),

(15 , 8 , 'ruby'),

(16 , 8 , 'server');

 

# 既有web标签,又有PHP,同时还标签的书,要用连接查询

 

select * from tags inner join tags as t on tags.bookid=t.bookid

where tags.content='PHP' and t.content='WEB';

 

 


换成key-value存储

用kv 来存储

set book:5:title 'PHP圣经'

set book:6:title 'ruby实战'

set book:7:title 'mysql运难'

set book:8:title ‘ruby server’

 

sadd tag:PHP 5

sadd tag:WEB 5 6

sadd tag:database 7

sadd tag:ruby 6 8

sadd tag:SERVER 8

 

查: 既有PHP,又有WEB的书

Sinter tag:PHP tag:WEB  #查集合的交集

 

查: 有PHP或有WEB标签的书

Sunin tag:PHP tag:WEB

 

查:含有ruby,不含WEB标签的书

Sdiff tag:ruby tag:WEB #求差集


假设需要需要查询既属于,又属于,又属于的情况,以mysql为例,用到join(如果取交集的标签够多,join的量会够多),语句会很长,很耗资源。而Redis能轻松解决这个问题:


有若干本书,分别属于若干个标签(类型):

    'php圣经','java圣经','c++圣经','asp圣经','php从入门到放弃','Go圣经','linux内核编程','python圣经'

    

属于php的:

    'php圣经','php从入门到放弃'

属于web的:

    'php圣经','asp圣经','php从入门到放弃'

属于code的:

    'php圣经','java圣经','C++圣经','asp圣经','php从入门到放弃','go圣经','Python圣经'

属于system的:

    'linux内核编程


接下来,字段设置:

    先将书设置好:

        set book:1:title 'php圣经'

        set book:2:title 'java圣经'

        set book:3:title 'C++圣经'

        set book:4:title 'asp圣经'

        set book:5:title 'php从入门到放弃'

        set book:6:title 'go圣经'

        set book:7:title 'linux内核编程'

        set book:8:title 'python圣经'

    将书签设置好:

        sadd tag:php    1 5

        sadd tag:web    1 4 5

        sadd tag:code   1 2 3 4 5 6 8

        sadd tag:system 7 


用集合,取交集的方式迅速求出

    既属于php标签又属于web标签的:

    127.0.0.1:6379> sinter tag:php tag:web

    1

    5

    既属于php标签又属于web标签又属于code标签的:

    127.0.0.1:6379> sinter tag:php tag:web tag:code

    1

    5


获取1、5的书名:

    127.0.0.1:6379> get book:1:title

    php圣经

    127.0.0.1:6379> get book:5:title

    php从入门到放弃


注意:正常情况下redis命令窗口不显示中文,要显示中文要加上--raw参数

    [lzw@localhost bin]$ redis-cli

    127.0.0.1:6379> get book:1:title

    "php\xe5\x9c\xa3\xe7\xbb\x8f"

    127.0.0.1:6379> 

    [lzw@localhost bin]$ redis-cli --raw

    127.0.0.1:6379> get book:1:title

    php圣经

    

您可能感兴趣的文档:

--结束END--

本文标题: redis应用之——标签

本文链接: https://lsjlt.com/news/44596.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis应用之——标签
    mysql:create table book (bookid int,title char(20))engine myisam charset utf8; insert into bo...
    99+
    2024-04-02
  • Spring之Bean标签怎么使用
    今天小编给大家分享一下Spring之Bean标签怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Bean标签基本配置用...
    99+
    2023-07-02
  • mybatis定义sql语句标签之delete标签解析
    目录mybatis之delete标签属性说明简单示例<delete>标签与delete语句delete语句批量删除mybatis之delete标签 delete...
    99+
    2024-04-02
  • Mybatis配置之typeAlias标签的用法
    Mybatis typeAlias标签 在实际的工程之中,类的全限定名称很长,当我们需要大量使用的时候,这非常不方便的,然而mybatis提供了typeAlias别名标签供我们别名和...
    99+
    2024-04-02
  • HTML5的meta标签的应用方法
    本篇内容主要讲解“HTML5的meta标签的应用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5的meta标签的应用方法”吧!HTML 4.01 与...
    99+
    2024-04-02
  • html5各种标签的应用方法
    html5 增加了新的元素和属性,以增强网站结构、语义和交互性。其标签应用包括:语义标记:用于定义文档结构,如页眉、页脚和导航。媒体元素:允许嵌入视频、音频和创建交互式图形。数据存储:提...
    99+
    2024-04-21
    sessionstorage
  • Java基础学习之标签
    目录一、语法二、控制循环三、案例四、小结一、语法 label: @Test public void test3() { inner: f...
    99+
    2024-04-02
  • Java之HTML常用的标签有哪些
    这篇文章主要讲解了“Java之HTML常用的标签有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java之HTML常用的标签有哪些”吧!   1.格式...
    99+
    2024-04-02
  • Struts2之UI标签的作用是什么
    Struts2的UI标签用于快速生成HTML页面元素,如表单、输入框、按钮、下拉菜单等。它的作用是简化页面开发,减少手动编写HTML...
    99+
    2023-09-25
    Struts2
  • redis应用之——注册、登录
    字段设计:#设置登录帐号:set user:1:account zhangsanset user:2:account lisi#设置用户名:set user:1:name 张三set user:2:name...
    99+
    2024-04-02
  • Mybatis中typeAliases标签和package标签使用
    目录typeAliases标签和package标签的使用1、typeAliases2、packageproperties,typeAliases,package三个标签使用以及细节t...
    99+
    2024-04-02
  • Mybatis配置之properties和settings标签的用法
    Mybatis properties标签和settings标签 本次将讲述mybatis的配置,主要的配置是基于mybatis的配置文件来进行配置的,其配置文件并不复杂 如下面的例子...
    99+
    2024-04-02
  • HTML列表标签的特殊应用场景:解锁标签的无限潜力
    HTML列表标签是网页设计中常用的元素,它可以帮助我们创建井井有条的列表,使网页内容更加清晰易读。除了常规的列表功能,HTML列表标签还有一些特殊应用场景,可以帮助我们实现更有创意和美观的网页效果。 1、制作菜单 列表标签可以用来制作下拉...
    99+
    2024-02-11
    HTML列表标签 列表 菜单 导航栏 表格
  • HTML中文本标签、超链接标签、图片标签怎么用
    这篇文章将为大家详细讲解有关HTML中文本标签、超链接标签、图片标签怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   1、简介   在Web应用中,服务器把网...
    99+
    2024-04-02
  • HTML中h标签和p标签以及hr标签有什么用
    小编给大家分享一下HTML中h标签和p标签以及hr标签有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   如何在webstorm中利用快捷键创建一个新的html的文件?   同...
    99+
    2024-04-02
  • MyBatis 动态SQL之<where>标签-
    简介 where 标签主要用来简化 SQL 语句中的条件判断,可以自动处理 AND/OR 条件。 在if标签和choose-when-otherwise标签的案例中,SQL语句加入了一个条件...
    99+
    2023-09-05
    mybatis java mysql sql 开发语言
  • jquery标签选择器应用示例详解
    本文实例为大家分享了jquery标签选择器应用的具体代码,供大家参考,具体内容如下 1、统一设置div内容 可以用标签选择器来选择所有的 div 元素; <!DOCTYP...
    99+
    2024-04-02
  • HTML标签和属性应用实例分析
    本篇内容主要讲解“HTML标签和属性应用实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML标签和属性应用实例分析”吧!HTML的主体结构HTML 页...
    99+
    2024-04-02
  • mybatis中映射文件include标签的应用
    目录mybatis映射文件include标签应用1.引用同一个xml中的sql片段2.引用公用的sql片段3.对于多个xml文件需要同时引用一段相同的mybatis sql xml ...
    99+
    2024-04-02
  • HTML5新特性之语义化标签怎么用
    这篇文章主要介绍了HTML5新特性之语义化标签怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。HTML5新特性简洁的DOCTYPE:HT...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作