java redis 使用

@Component
public class RedisComponent implements RedisI {

@Resource
private StringRedisTemplate stringRedisTemplate;

@Override
public void setString(String key, String value, int expire) {
    ValueOperations<String, String> ops = this.stringRedisTemplate.opsForValue();
    ops.set(key, value);
    if (expire != 0) {
        setExpireTime(key, expire);
    }
}

@Override
public String getString(String key) {
    return this.stringRedisTemplate.opsForValue().get(key);
}

@Override
public void deleteString(String key) {
    this.stringRedisTemplate.delete(key);
}

@Override
public void addHSet(String totalKey, String key, String value, int expire) {
    this.stringRedisTemplate.opsForHash().put(totalKey, key, value);
    if (expire != 0) {
        setExpireTime(totalKey, expire);
    }
}

@Override
public String getHget(String totalKey, String key) {
    return AppUtil.manageString(this.stringRedisTemplate.opsForHash().get(totalKey, key), "");
}

@Override
public Long getHSize(String totalKey) {
    return this.stringRedisTemplate.opsForHash().size(totalKey);
}

@Override
public Set<Object> getHKeys(String totalKey) {
    return this.stringRedisTemplate.opsForHash().keys(totalKey);
}

@Override
public void hDelete(String hashKey, String key) {
    this.stringRedisTemplate.opsForHash().delete(hashKey, key);
}

@Override
public void setSet(String key, String... member) {
    stringRedisTemplate.boundSetOps(key).add(member);
}

@Override
public void removeSet(String key, Object... member) {
    stringRedisTemplate.boundSetOps(key).remove(member);
}

@Override
public Set<String> getSetMember(String key) {
    return stringRedisTemplate.boundSetOps(key).members();
}

@Override
public boolean exists(String key) {
    if (!"".equalsIgnoreCase(AppUtil.manageString(key, ""))) {
        return stringRedisTemplate.hasKey(key);
    }
    return false;
}

@Override
public boolean exists(String totalKey, String key) {
    return this.stringRedisTemplate.opsForHash().hasKey(totalKey, key);
}

/**
 * 设置过期时间
 * @param key 健
 * @param expire 过期时间(单位: 秒)
 */
private void setExpireTime(String key, int expire) {
    if (expire > 0) {
        this.stringRedisTemplate.expire(key, expire, TimeUnit.SECONDS);
    } else {
        // 如果设置的时间少于1时, 则默认1分钟过期
        this.stringRedisTemplate.expire(key, 1, TimeUnit.MINUTES);
    }
}

}

// 接口方法

public interface RedisI {

void setString(String key, String value, int expire);

String getString(String key);

void deleteString(String key);

void addHSet(String totalKey, String key, String value, int expire);

String getHget(String totalKey, String key);

Long getHSize(String totalKey);

Set<Object> getHKeys(String totalKey);

void hDelete(String hashKey, String key);

void setSet(String key, String... member);

void removeSet(String key, Object... member);

Set<String> getSetMember(String key);

boolean exists(String key);

boolean exists(String totalKey, String key);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值