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();
		
	}
}

  

  

原文地址:https://www.cnblogs.com/summeryl/p/11147358.html