在使用集合的过程中,我们都明白他是通过Key-value的形式来保存的,在存入数据的时候将值赋值给一个key值,去出的时候,我不管你那个value值跑到了什么位置,我只要通过这个key值就可以找到你,也就是说用set的方法取值,他是无序的。但是正是由于你通过key值去取value值,所以具有唯一性。你这个key值就能够确定我这个value值,所以具有确定性。

 

     其实这就和我们平常生活过程中的身份证号有一定的雷同性。当我们在满成年的时候,我们都会去办理一个身份证用来标示自己,这样不管你走到哪里,只要你做犯法又或者什么默默无闻的事情,我都可以通过身份证来查阅你是哪里的,进而对你进行操作。所以身份证对于我们来说,它具有唯一性,每一个人的身份证只用来标识你自己。你只要拿着这个身份证就可以世界各地的去闯荡,这我们可以理解为无序性。

 

     对于集合set而言,就具有这三个特性:

  • --无序性
  • --唯一性
  • --确定性

下边我们通过一些常用命令来对set集合进行了解:


在执行命令之前,首先要明确将redis打开,效果如下图,


将Set集合的数据 放入 redis key 中 redis的set集合命令_set集合命令


通过文件查找命令找到redis客户端,比如我的:


将Set集合的数据 放入 redis key 中 redis的set集合命令_redis_02


常用命令如下:


1》向集合中添加一些元素:sadd key value1 value2(set add,全拼,供参考)


将Set集合的数据 放入 redis key 中 redis的set集合命令_取值_03


     我在第一行的时候,输入了red,blue,当第二次再输入red的时候,返回0,证明唯一性。最后把所有的信息输出来,它所排列的顺序并非是我添加的先后顺序,证明无序性。


2》 删除集合中的元素: sremvalue1 value2 (set remove):


   作用:忽略不存在的元素后,真正删除掉的元素的个数


将Set集合的数据 放入 redis key 中 redis的set集合命令_取值_04


3》 随机删除集合中的元素:spop key


将Set集合的数据 放入 redis key 中 redis的set集合命令_常用命令_05


4》

随机显示一个元素:srandmember key(set  random member)

 

查看是否是这个集合的元素:sismember key(set is member)

 

返回集合中所有的元素:smembers



显示元素的个数:scard(set card)



将Set集合的数据 放入 redis key 中 redis的set集合命令_常用命令_06



5》把color中的value删除,并添加到tool集合中:smove color tool value

将Set集合的数据 放入 redis key 中 redis的set集合命令_取值_07


    以上几个就是有利于对于单个或者一些信息查阅的命令,对于这些常用命令其实就和Linux命令一样,需要一次一次去实践,这样才会熟能生巧,实践吧!