"19"
redis 127.0.0.1:6379> get count
(nil)
字符串操作
redis 127.0.0.1:6379> set name 'rolin'
OK
求字符串的长度
redis 127.0.0.1:6379> strlen name
(integer) 5
截取字符串,数值是角标
redis 127.0.0.1:6379> getrange name 0 3
"roli"
截取整个字符串的长度
redis 127.0.0.1:6379> getrange name 0 -1
"rolin"
map集合
redis 127.0.0.1:6379> hset 001 name rolin #001是大的key,name是小的key,rolin是小key的值
(integer) 1
redis 127.0.0.1:6379> hset 001 gender man#设置第二个小key
(integer) 1
redis 127.0.0.1:6379> hset 002 name legend
(integer) 1
redis 127.0.0.1:6379> hset 002 gender woman
(integer) 1
redis 127.0.0.1:6379> hget 001 name #得到大key 001下,小key name的值
"rolin"
redis 127.0.0.1:6379> hget 001 gender
"man"
redis 127.0.0.1:6379> hgetall 001 #得到大key下001的所有小key的值
1) "name"
2) "rolin"
3) "gender"
4) "man"
redis 127.0.0.1:6379> hgetall 002
1) "name"
2) "legend"
3) "gender"
4) "woman"
redis 127.0.0.1:6379> hdel 001 gender #删除小key以及对应的值
(integer) 1
redis 127.0.0.1:6379> hgetall 001
1) "name"
2) "rolin"
redis 127.0.0.1:6379> del 001 #删除大key,以及他下面的所有的小key以及对应的值
(integer) 1
redis 127.0.0.1:6379> hgetall 001
(empty list or set)
redis 127.0.0.1:6379> hkeys key
(empty list or set)
redis 127.0.0.1:6379> hkeys 001 #查看大key 001下所有的小key
(empty list or set)
redis 127.0.0.1:6379> hkeys 002
1) "name"
2) "gender"
redis 127.0.0.1:6379> hset 001 age 1
(integer) 1
redis 127.0.0.1:6379> hincrby 001 age
(error) ERR wrong number of arguments for 'hincrby' command
原子性增长,必须指定每次增长的数值的大小
redis 127.0.0.1:6379> hincrby 001 age 1
(integer) 2
redis 127.0.0.1:6379> hincrby 001 age 10
(integer) 12
?
其他的map的操作的方法,请参考传智播客的ppt
?
list集合
redis 127.0.0.1:6379> lpush mylist 0 1 2 3 4 5 6
(integer) 7
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
7) "0"
redis 127.0.0.1:6379> rpush mylist1 0 1 2 3 4 5 6
(integer) 14
redis 127.0.0.1:6379> lrange mylist1 0 -1
1) "0"
2) "1"
3) "2"
4) "3"
5) "4"
6) "5"
7) "6"
redis 127.0.0.1:6379> lpop mylist
"6"
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
6) "0"
redis 127.0.0.1:6379> rpop mylist
"0"
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
?
阻塞等待获取左边的值,如果有就拿到,如果没有就等待,100是等待的时间,单位是秒
redis 127.0.0.1:6379> blpop mylist3 100 #等待中.........
新开一个cli,
redis 127.0.0.1:6379> lpush mylist3 10 20 #push值进去
(integer) 2
上面等待的cli输出
1) "mylist3"
2) "20"
(15.56s) #一共等待时间
#从右侧弹栈
redis 127.0.0.1:6379> brpop mylist3 10
1) "mylist3"
2) "10"
redis 127.0.0.1:6379> lpush mylist 1 2 3 4 5 5 5 5 4
(integer) 9
redis 127.0.0.1:6379> lrange mylist
(error) ERR wrong number of arguments for 'lrange' command
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "4"
2) "5"
3) "5"
4) "5"
5) "5"
6) "4"
7) "3"
8) "2"
9) "1"
从开始的位置开始删除前两次出现的值为5的元素
redis 127.0.0.1:6379> lrem mylist 2 5
(integer) 2
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "4"
2) "5"
3) "5"
4) "4"
5) "3"
6) "2"
7) "1"
从左侧开始修改0角标的值为5
redis 127.0.0.1:6379> lset mylist 0 5
OK
显示指定范围的值
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "5"
2) "5"
3) "5"
4) "4"
5) "3"
6) "2"
7) "1"
redis 127.0.0.1:6379> llen mylist
(integer) 7
redis 127.0.0.1:6379> ltrim mylist 3 -1
OK
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
redis 127.0.0.1:6379> ltrim mylist 0 4
OK
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
对list进行截取
redis 127.0.0.1:6379> ltrim mylist 0 3
OK
redis 127.0.0.1:6379> lrange mylist 0 -1
1) "4"
2) "3