import redis.clients.jedis.Jedis;
public class SetType {
public static void main(String[] args) {
LinkRedis linkRedis = LinkRedis.getLinkPedis();
Jedis jedis = linkRedis.getJedis();
// set 的内部实现是一个
// value永远为null的HashMap,实际就是通过计算hash的方式来快速排重的,这也是set能提供判断一个成员是否在集合内的原因。set中的元素是没有顺序的。
// sadd -- 向名称为key的set中添加元素,返回影响元素的个数,0为失败,1为成功
// sadd(String key, String... members)
// smembers -- 查看集合中所有的成员
// smembers(String key)
System.out.println(jedis.sadd("set", "a1", "a2", "a3", "a4", "a5"));
System.out.println(jedis.smembers("set"));
// sismember --测试某个元素是否在集合中,返回0是不是,大于0是存在
// Boolean sismember(String key, String member)
System.out.println(jedis.sismember("set", "a1"));
// srandmember(String key)
// srandmember(String key, int count)
// SRANDMEMBER:SRANDMEMBER key-name [count]
// 从集合中随机返回一个或者多个元素。当count为正数时,返回的随机元素不会重复;当count为负数时,返回的随机元素可能重复。
System.out.println(jedis.srandmember("set"));
System.out.println(jedis.srandmember("set",6));
System.out.println(jedis.srandmember("set",-6));
// srem -- 删除集合的一个元素
// srem(String key, String... members)
System.out.println(jedis.srem("set", "a1"));
// spop -- 随机返回并删除set中一个元素
// spop(String key)
// spop(String key, long count)
System.out.println(jedis.spop("set"));
// sdiff -- 返回所有set与第一个set的差集
// sdiff(String... keys)
jedis.sadd("set-1", "a1", "a2");
System.out.println(jedis.sdiff("set", "set-1"));
// sdiffstore -- 比较差集并且存储到另一个set中,返回1代表成功
// sdiffstore(String dstkey, String... keys)
System.out.println(jedis.sdiffstore("set-2", "set-1", "set"));
System.out.println(jedis.smembers("set-2"));
// sinter -- 返回所有给定集合的交集
// sinterstore -- 返回给定集合的交集并存储到另一个集合
// sunion -- 返回所有给定集合的并集
// sunionstore -- 返回所有的并集并且存储到另一个集合中,返回影响的元素个数
// SMOVE:SMOVE source-key dest-key item
// 如果source-key里包含item,将itme从source-key里删除,添加到dest-key中;如果item成功删除返回1,否则返回0;
// smove(String srckey, String dstkey, String member)
// scard -- 返回集合中元素的个数
// public Long scard(String key)
System.out.println(jedis.scard("set"));
System.out.println(jedis.del("set"));
System.out.println(jedis.del("set-1"));
System.out.println(jedis.del("set-2"));
linkRedis.close();
}
}
redis in action 一些基本操作 SET类型
最新推荐文章于 2018-04-21 21:28:45 发布