赞
踩
1 登录redis客户端
redis-cli -h 127.0.0.1 -p 6379 -a password
2 关闭redis客户端
redis-cli shutdown
1 创建键为:k1,值为:hello
set k1 hello
2 获取键:k1的值
get k1
1 数据库索引为0-15,切换第16个数据库
select 15
dbsize
1 清空当前库
flushdb
2 清空16个库
flushall
1 查询所有的键
keys *
2 查询 k* 开头的所有键
keys k*
3 查询 *e 结尾的所有键
keys *e
4 查询包含 k 的键
keys *k*
1 模糊查询k字头,并且匹配一个字符
keys k?
2 匹配两个未知字符
keys k??
1 记得其他字母,就第二个字母可能是a或e
keys r[ae]dis
1 判断键k1是否存在
exists k1
1 移动到第9个数据库
move k1 8
1 查看k1多久过期,time to live 还能活多久
ttl k1
1 设置k1过期时间为10s
expire k1 10
1 type key
type k1
1 创建键
set k1 v1
2 获取值
get k1
3 追加字符串值abc
append k1 abc
4 查看value的长度
strlen k1
5 删除键
del k1
1 创建键
set k1 1
2 自增+1
incr k1
3 自减-1
decr k1
4 自增任意数,自增+3
incrby k1 3
5 自减任意数,自减-3
decr k1 3
1 查看String类型中索引包含的值,类似substring,查看所有
getrange k1 0 -1
2 查看0到3共4个字符
getrange k1 0 3
3 替换k1的值,从下标1开始提供为xxx
setrange k1 1 xxx
1 添加k1 v1数据的同时,设置5秒的声明周期
setex k1 5 v1
1 添加数据的时候判断是否已经存在,防止已存在的数据被覆盖掉,如果k1存在返回0,不存在返回1
setnx k1 v1
1 mset
mset k1 v1 k2 v2
2 msetnx
msetnx k1 v1 k2 v2
getset k1 v1
1 lpush,l:left 自左向右→添加 (从上往下添加),先添加1,再添加2,最后5
lpush list01 1 2 3 4 5
2 因为先添加的1,最后添加的5,所以从左边开始取,是先取5
lrange list01 0 -1
"5"
"4"
"3"
"2"
"1"
3 rpush,r:right 自右向左←添加(从下往上添加),先添加5,再添加4,最后添加1
rpush list02 1 2 3 4 5
4 lpop移除左边第一个元素,也就是1
lpop list02
4 rpop移除右边第一个元素,也就是5
rpop list02
5 lindex从左边开始查询索引
lindex list01 2
6 llen:返回集合长度
llen list01
7 lrem:删除n个value,从list01中移除1个3
lrem list01 1 3
8 ltrim:截取指定范围的值,别的全扔掉,与substring一样,只不过集合被清除了
ltrim list01 1 3
9 lset:改变某个下标的某个值,将list02中下标为0的元素修改成x
lset list02 0 x
10 linsert:插入元素(指定某个元素之前/之后)
从左边进入,在list02中的2元素之前插入java
linsert list02 before 2 java
从左边进入,在list02中的2元素之后插入redis
linsert list02 after 2 redis
1 sadd:添加到集合
sadd set01 1 2 2 3 3 3
2 smembers:查看集合
smembers set01
3 sismember:判断是否存在
sismember set01 5
返回0和1,表示布尔false不存在和true存在,不是下标
4 scard:获得集合中的元素个数
scard set01
5 srem:删除集合中的元素 srem key value
srem set01 2
6 srandmember:从集合中随机获取几个元素 srandmember 整数(个数)
srandmember set01 3
7 spop:随机出栈(移除)
spop set01
8 smove:移动元素:将key1某个值赋值给key2
smove set01 set02 3
9 交集:sinter
sinter set01 set02
10 并集:sunion
sunion set01 set02
11 差集:sdiff
sdiff set01 set02
1 hset:添加
hset user id 1001
2 hget:得到
hget user id
3 hmset:多添加
hmset student id 101 name tom age 22
4 hmget:多得到
hmget student name age
5 hgetall:得到全部
hgetall student
6 hdel:删除属性
hdel student age
7 hlen:返回元素的属性个数
hlen student
8 hexists:判断元素是否存在某个属性
hexists student name
9 hkeys:获得属性的所有key
hkeys student
10 hvals:获得属性的所有value
hvals student
11 hincrby:自增(整数)
hincrby student age 2
12 hincrbyfloat:自增(小数)
hincrbyfloat user money 5.5
13 hsetnx:添加的时候,先判断是否存在
hsetnx student age 18
1 zadd/zrange (withscores):添加/查询
127.0.0.1:6379> zadd zset01 10 vip1 20 vip2 30 vip3 40 vip4 50 vip5 (integer) 5 127.0.0.1:6379> zrange zset01 0 -1 # 查询数据 1) "vip1" 2) "vip2" 3) "vip3" 4) "vip4" 5) "vip5" 127.0.0.1:6379> zrange zset01 0 -1 withscores # 带着分数查询数据 1) "vip1" 2) "10" 3) "vip2" 4) "20" 5) "vip3" 6) "30" 7) "vip4" 8) "40" 9) "vip5" 10) "50"
2 zrangebyscore:模糊查询
127.0.0.1:6379> zrangebyscore zset01 20 40 # 20 <= score <= 40 1) "vip2" 2) "vip3" 3) "vip4" 127.0.0.1:6379> zrangebyscore zset01 20 (40 # 20 <= score < 40 1) "vip2" 2) "vip3" 127.0.0.1:6379> zrangebyscore zset01 (20 (40 # 20 < score < 40 1) "vip3" 127.0.0.1:6379> zrangebyscore zset01 10 40 limit 2 2 # 10 <= score <= 40,共返回四个,跳过前2个,取2个 1) "vip3" 2) "vip4" 127.0.0.1:6379> zrangebyscore zset01 10 40 limit 2 1 # 20 <= score <= 40,共返回四个,跳过前2个,取1个 1) "vip3"
3 zrem:删除元素
zrem zset01 vip5
4 zcard/zcount/zrank/zscore:集合长度/范围内元素个数/得元素下标/通过值得分数
127.0.0.1:6379> zcard zset01 # 集合中元素的个数
(integer) 4
127.0.0.1:6379> zcount zset01 20 30 # 分数在20~40之间,共有几个元素
(integer) 2
127.0.0.1:6379> zrank zset01 vip3 # vip3在集合中的下标(从上向下)
(integer) 2
127.0.0.1:6379> zscore zset01 vip2 # 通过元素获得对应的分数
"20"
5 zrevrank:逆序找下标(从下向上)
zrevrank zset01 vip3
6 zrevrange:逆序查询
127.0.0.1:6379> zrange zset01 0 -1 # 顺序查询
1) "vip1"
2) "vip2"
3) "vip3"
4) "vip4"
127.0.0.1:6379> zrevrange zset01 0 -1 # 逆序查询
1) "vip4"
2) "vip3"
3) "vip2"
4) "vip1"
7 zrevrangebyscore:逆序范围查找
127.0.0.1:6379> zrevrangebyscore zset01 30 20 # 逆序查询分数在30~20之间的
(注意,先写大值,再写小值)
1) "vip3"
2) "vip2"
127.0.0.1:6379> zrevrangebyscore zset01 20 30 # 如果小值在前,则结果为null
(empty list or set)
作为程序员第 118 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。