首先,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
- “xiaogang”
- “xiaohong”
- “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:获取指定区间内的数量