《Redis应用实例》Java实现(15):标签系统

电商系统中大量使用了大标签的功能,通过redis可以高效的实现这个功能。
 


package com.foxbill.redisinaction;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.Pipeline;
import java.util.Set;
/**
 * 标签系统
 */
public class Chapter15 {

    static public void start(Jedis jedis) {
        addTag(jedis);
        getByTag(jedis);
    }

    //添加标签
    private static void addTag(Jedis jedis) {
        Pipeline ctx = jedis.pipelined();
        //redis
        String keyRedis="tag:redis";
        String[] tagRedis={"nosql","database","cache","redis"};
        ctx.sadd(keyRedis,tagRedis);
        //mysql
        String keyMysql="tag:mysql";
        String[] tagMysql={"database","mysql"};
        ctx.sadd(keyMysql,tagMysql);

        //database
        String keyDatabase = "tag:database";
        String[] tagDatabase = {"mysql", "redis", "mongodb"};
        ctx.sadd(keyDatabase, tagDatabase);

        //nosql
        String keyNosql="tag:nosql";
        String[] tagNosql={"redis","mongodb"};
        ctx.sadd(keyNosql,tagNosql);

        ctx.sync();
    }

    //根据标签获取元素集合
    private static void getByTag(Jedis jedis){
        String keyDatabase = "tag:database";
        Set<String> database = jedis.smembers(keyDatabase);
        System.out.printf("database:%s\n", database);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值