Redis学习第三天
Redis - 存储set
概述:
Redis中,Set类型可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1)。可包含的最大元素数量是4292967295。
Set集合中不允许出现重复的元素,如果多次添加相同元素,Set中将仅保留该元素的一份拷贝。Set类型在功能上还存在着一个非常重要的特性,即在服务器端完成多个Sets之间的聚合计算操作。由于这些操作均在服务端完成,因此效率极高,而且也节省了大量的网络IO开销。
作用:如果在Redis操作中,涉及到两个大数据集合的并集,交集,差集运算时,可以用到Set集合。
set命令(常用)
添加/删除元素:
-
- sadd key values....
- srem key members....,从set中指定的成员
获得集合中的元素:
-
- smembers key:获取set中所有的成员
- sismember key member:判断参数中指定的成员是否在该set中,1表示存在,0表示不存在或者该key本身就不存在。(效率高)
差集/交集/并集运算:
-
- sdiif set1 set2
- sinter set1 set2
- sunion set1 set2
扩展:
-
- scard key:获取set中成员的数量
- srandemember key :随机获取set中的一个成员
Jedis连接池
package cn.itcast.demo;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class Demo1 {
/**
* 单实例链接redis数据库
*/
@Test
public void run() {
Jedis jedis = new Jedis("192.168.6.129", 6379);
// jedis.set("name", "张三");
System.out.println(jedis.get("name"));
}
/**
* Jedis连接池
*/
@Test
public void run2() {
//1. 设置连接池的配置对象
JedisPoolConfig config = new JedisPoolConfig();
// 设置池中最大连接数
config.setMaxTotal(50);
// 设置空闲时池中保有的最大连接数
config.setMaxIdle(10);
// 2.设置连接池对象
JedisPool pool = new JedisPool(config, "192.168.6.129", 6379);
// 3.从池中获取链接对象
Jedis jedis = pool.getResource();
System.out.println(jedis.get("name"));
// 4.链接归还池中
jedis.close();
}
}

浙公网安备 33010602011771号