redis:list 和 set 和 zset 类型的简单学习

首先,list 可以看做栈, 队列,链表等

lpush(类似于头插法),将数据放入头部

rpush (类似于尾插法),将数据放入尾部
相当于双端队列,获取两端的字符串

lrange:做左边开始获取元素

lpop:移除链表最左边的元素

rpop:移除链表最右边的元素

lindex:通过下标获取 list 中的某一个值
(几乎所有的命令前面加上 l,就代表 list)

lrem list 1 three:移除元素,此句话意思是移除 list 里面的一个 three 元素

ltrim list 0 1:截取 list 的 0 到 1 索引的元素

redis:0>rrange list 0 -1
"ERR unknown command `rrange`, with args beginning with: `list`, `0`, `-1`, "
redis:0>lrange list 0 -1
 1)  "three"
 2)  "two"
 3)  "one"
 4)  "4"
redis:0>rrange list 0 -1
"ERR unknown command `rrange`, with args beginning with: `list`, `0`, `-1`, "
redis:0>lpop list

null
redis:0>rpop list

null
redis:0>lrange list 0 -1
 1)  "three"
 2)  "two"
 3)  "one"
 4)  "4"
redis:0>lpop list
"three"
redis:0>rpop list
"4"
redis:0>lrange list 0 -1
 1)  "two"
 2)  "one"
redis:0>lindex list 1
"one"
redis:0>lindex list 2
null
redis:0>lindex list 0
"two"
redis:0>rindex list 0
"ERR unknown command `rindex`, with args beginning with: `list`, `0`, "
redis:0>llen list
"2"
redis:0>flush db
"ERR unknown command `flush`, with args beginning with: `db`, "
redis:0>flushdb
"OK"
redis:0>lpush list one
"1"
redis:0>lpush list two
"2"
redis:0>lpush list three
"3"
redis:0>lpush list four
"4"
redis:0>rrange list
"ERR unknown command `rrange`, with args beginning with: `list`, "
redis:0>rrange list 0 -1
"ERR unknown command `rrange`, with args beginning with: `list`, `0`, `-1`, "
redis:0>lrange list 0 -1
 1)  "four"
 2)  "three"
 3)  "two"
 4)  "one"
redis:0> lrem list 1 three
"1"
redis:0>lrange list 0 -1
 1)  "four"
 2)  "two"
 3)  "one"
redis:0>ltrim list 0 1
"OK"
redis:0>lrange list 0 -1
 1)  "four"
 2)  "two"
redis:0>s

以下是 set 类型的 API:
set 作为集合,里面的元素是不能重复的

sadd:存储值

smembers:取值

sismember:判断是否存在,存在返回 1,不存在返回 0

srem:移除某一个元素

srandom:获取集合中随机的一个元素

spop:弹栈

smove myset2 myset hello9两个集合,将 hello9 这个元素,从 myset2 中移动到 myset 中,如果集合名不存在,会自动创建

sdiff set1 set2:用集合 1 和 集合 2 做对比,找出不同的元素(也就是差集)

sinter set1 set2:求两个集合中的交集

sunion set1 set2:求两个集合中的并集

是 ========================================= 是

以下是 zset 的API
首先添加薪水信息

redis:0>zadd salary 2500 xiaohong
"1"

redis:0>zadd salary 5000 xiaoming
"1"

redis:0>zadd salary 1000 xiaogang
"1"

redis:0>zrangebyscore salary -inf +inf

  1. “xiaogang”
  2. “xiaohong”
  3. “xiaoming”
    这里通过salary 从小到大进行排序输出,使用 API:zrangebyscore

zrangebyscore salary -inf +inf withscores:在查出排序结果的同时,将排序字段也查出来(这里是薪水信息)

zrangebyscore salary -inf 2500 withscores:查找工资小于等于 2500 的信息

zcard salary:获取有序集合中的个数:

zrevrange salary 0 -1:从大到小进行排序

zcount salary 1000 2500:获取指定区间内的数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_努力努力再努力_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值