redis入门到精通(四)

2015-02-02 20:09:36 · 作者: · 浏览: 50
"

3) "2"

4) "1"

对list进行截取

redis 127.0.0.1:6379> ltrim mylist 0 2

OK

redis 127.0.0.1:6379> lrange mylist 0 -1

1) "4"

2) "3"

3) "2"

获取指定角标的值

redis 127.0.0.1:6379> lindex mylist 1

"3"

没有插入成功

redis 127.0.0.1:6379> linsert mylist before 0 5

(integer) -1

redis 127.0.0.1:6379> lrange mylist 0 -1

1) "4"

2) "3"

3) "2"

在第一个值为4的后面插入5

redis 127.0.0.1:6379> linsert mylist before 4 5

(integer) 4

redis 127.0.0.1:6379> lrange mylist 0 -1

1) "5"

2) "4"

3) "3"

4) "2"

redis 127.0.0.1:6379> linsert mylist before 5 4

(integer) 5

redis 127.0.0.1:6379> linsert mylist before 4 5

(integer) 6

redis 127.0.0.1:6379> lrange mylist 0 -1

1) "5"

2) "4"

3) "5"

4) "4"

5) "3"

6) "2"

在第一个值为4后面插入6

redis 127.0.0.1:6379> linsert mylist after 4 6

(integer) 7

redis 127.0.0.1:6379> lrange mylist 0 -1

1) "5"

2) "4"

3) "6"

4) "5"

5) "4"

6) "3"

7) "2"

?

set集合

创建一个set集合

redis 127.0.0.1:6379> sadd myset 1 2 3 4

(integer) 4

redis 127.0.0.1:6379> type myset

set

添加一个重复值,返回添加成功个数为0

redis 127.0.0.1:6379> sadd myset 2

(integer) 0

显示所有的元素

redis 127.0.0.1:6379> smembers myset

1) "1"

2) "2"

3) "3"

4) "4"

redis 127.0.0.1:6379> sadd myset 5

(integer) 1

redis 127.0.0.1:6379> smembers myset

1) "1"

2) "2"

3) "3"

4) "4"

5) "5"

redis 127.0.0.1:6379> sadd myset 5

(integer) 0

redis 127.0.0.1:6379> smembers myset

1) "1"

2) "2"

3) "3"

4) "4"

5) "5"

弹栈,弹出排序后第一个元素

redis 127.0.0.1:6379> spop myset

"1"

redis 127.0.0.1:6379> smembers myset

1) "2"

2) "3"

3) "4"

4) "5"

判断是否存在该元素

redis 127.0.0.1:6379> sismember myset 4

(integer) 1 存在

redis 127.0.0.1:6379> sismember myset 6

(integer) 0 不存在

redis 127.0.0.1:6379> srandmember myset

"4"

redis 127.0.0.1:6379> smembers myset

1) "2"

2) "3"

3) "4"

4) "5"

随机去set集合中一个元素

redis 127.0.0.1:6379> srandmember myset

"4"

redis 127.0.0.1:6379> srandmember myset

"3"

redis 127.0.0.1:6379> srandmember myset

"5"

求set集合的长度

redis 127.0.0.1:6379> scard myset

(integer) 4

redis 127.0.0.1:6379> sadd myset1 1 2 3 6 7

(integer) 5

redis 127.0.0.1:6379> smembers myset1

1) "1"

2) "2"

3) "3"

4) "6"

5) "7"

求第一个集合和第二个集合的差集,第一个有第二个没有的元素

redis 127.0.0.1:6379> sdiff myset myset1

1) "4"

2) "5"

redis 127.0.0.1:6379> sdiff myset1 myset

1) "6"

2) "7"

求两个集合的交集

redis 127.0.0.1:6379> sinter myset myset1

1) "1"

2) "2"

3) "3"

求两个集合的并集

redis 127.0.0.1:6379> sunion myset myset1

1) "1"

2) "2"

3) "3"

4) "4"

5) "5"

6) "6"

7) "7"

redis 127.0.0.1:6379> smembers myset

1) "1"

2) "2"

3) "3"

4) "6"

5) "7"

redis 127.0.0.1:6379> smembers myset1

1) "1"

2) "2"

3) "3"

4) "6"

5) "7"

redis 127.0.0.1:6379> sadd myset 8 9

(integer) 2

redis 127.0.0.1:6379> smembers myset

1) "1"

2) "2"

3) "3"

4) "6"

5) "7"

6) "8"

7) "9"

求两个集合的交集,并且把结果存到uset2集合里面去

redis 127.0.0.1:6379> sunionstore uset2 myset myset1

(integer) 7

redis 127.0.0.1:6379> smembers uset2

1) "1"

2) "2"

3) "3"

4) "6"

5) "7"

6) "8"

7) "9"

?

zset有序集合

创建有序集合

redis 127.0.0.1:6379> zadd zset1 1 one 2 two 3 three

(integer) 3

求有序集合的长度

redis 127.0.0.1:6379> zcard zset1

(integer) 3

redis 127.0.0.1:6379> zadd zset1 4 four

(integer) 1

redis 127.0.0.1:6379> zcard zset1

(integer) 4

查指定角标范围的集合值

redis 127.0.0.1:6379> zrange zset1 1 1

1) "two"

redis 127.0.0.1:6379> zrange zset1 1 2

1) "two"

2) "three"

redis 127.0.0.1:6379> zrange zset1 0 2

1) "one"

2) "two"

3) "three"

查询权重值为1-1之间的值得个数

redis 127.0.0.1:6379> zcount zset1 1 1

(integer) 1

redis 127.0.0.1:6379> zadd zset1 1 one1

(integer) 1

查询权重值为1-1之间的值得个数,由于又添加了一个权重为1的值,所以会有2个

redis 127