李斯特 发表于 2018-11-3 11:45:53

Redis常用命令(二)列表键、无序集合键

  ### 列表键的元素基本类型为string,按照插入顺序排序
  lpush key value1 value2 ..# 在列表左侧插入数据
  lpush name dai liu wang
  rpush key value1 value2 ...# 在列表右侧插入数据
  rpush name a b c
  lpop key# 移除并返回列表最左端的项
  lpop language
  rpop key# 移除并返回列表最右端的项
  rpop language
  # lpop的阻塞版本,命令会从左到右,访问给定的各个列表,并弹出首个非空列表最左端的项
  # 如果所有列表都为空,那么客户端会被阻塞,直到等待超时或者有可弹出的项出现为止。
  # 0表示永远阻塞
  blpop key timeout
  blpop a100 language 5
  brpop key timeout# 与blpop相反,命令从左到右执行,弹出首个非空列表最右端的项
  brpop a100 language 5
  llen key# 返回列表键key的长度
  llen language
  lindex key index# 返回列表键中指定索引index上的列表项,索引可以是正数或者负数
  lindex language 0
  linsert key before或after 现有元素 新元素# 在指定元素的前或后插入新元素
  linsert name before a d
  linsert name after a e
  lrange key start stop# 返回列表里指定范围内的元素,start、stop为元素的下标索引,索引从左侧开始,第一个元素为0,
  # 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
  lrange name 0 -1
  lset key index value# 将指定索引位置的列表项设置为value,索引从左侧开始,第一个元素为0,
  # 索引可以是负数,表示尾部开始计数,如-1表示最后一个元素
  lset name 4 zhao
  # 删除指定元素,将列表中前count次出现的值为value的元素移除
  # count > 0: 从头往尾移除,count < 0: 从尾往头移除,count = 0: 移除所有
  lrem key count value
  lrem py12 2 h0# 从py12列表左侧开始删除2个h0
  ltrim key start stop# 对列表进行修剪,让列表只保留指定索引范围内的列表项,索引可以是正数或负数
  ltrim user::daiby::timeline 0 4
  ### set 无序集合,元素为string类型,元素具有唯一性,不重复,说明:对于集合没有修改操作
  sadd key member1 member2 ...# 添加元素
  sadd py10 aaa bbb ccc aaa--> (integer) 3
  smembers key# 返回所有的元素,当集合比较大时,这个命令可能会造成服务器阻塞
  smembers py10
  srem key member1 member2 ...# 删除指定元素
  srem py10 aaa
  sismember key member# 检查给定的元素是否存在于集合
  sismember friends jack
  scard key# 返回集合包含的元素数量
  scard friends
  spop key# 随机的从集合中移除并返回一个元素
  spop friends
  # 如果没有给定可选的count参数,命令随机返回集合中的一个元素,该元素不会被移除
  # 如果指定了count,那么从集合中随机返回count数量的元素
  srandmember key
  srandmember friends 3
  sdiff key # 计算所有给定集合的差集,并返回结果
  sadd num1 111 222 333
  sadd num2 222 333 444
  sdiff num1 num2   --> 111
  sdiffstore destkey key # 计算所有给定集合的差集,并将结果存储到destkey
  sdiffstore num3 num1 num2
  sinter key # 计算所有给定集合的交集,并返回结果
  sinter num1 num2
  sinterstore destkey key # 计算所有给定集合的交集,并将结果存储到destkey
  sinterstore num3 num1 num2
  sunion key # 计算所有给定集合的并集,并返回结果
  sunion num1 num2
  sunionstore destkey key # 计算所有给定集合的并集,并将结果存储到destkey
  sunionstore num3 num1 num2

页: [1]
查看完整版本: Redis常用命令(二)列表键、无序集合键