这里写目录标题
1、redis有关key的操作命令
1)查看数据库中的key:keys pattern
->*:匹配0个后多个字符
->?:匹配一个字符
->[]:匹配一个里边的一个字符
例如:keys *:查看数据库中所有的key
keys k*:查看数据库中所有一卡头的key
keys k?e:查看一k开头,一e结尾的,并且中间只有一个字符的key
keys h[cde]llo:查看一h靠头,以o结尾,并且h后边只能在cde中取一个字符的key
2)判断某个key是否存在数据库中:exists key 如果存在,则返回1,否则返回0
exists key key key key 返回值是存在key的数量
3)移动指定的key到指定的数据库实例:move key index(库号)
4)查看指定key的剩余生存时间:ttl key 如果key在当前库不存在,返回2-;如果没有设置生存时间,返回-1
5)给可以设置最大生存时间:expire key seconds 超过时间后自动删除
expire 20;
6)查看指定可以的数据类型:type key
7)重命名key: rename key newkey
8)删除key:del key 删除指定的key,返回值实际删除key的数
2、redis中关于string类型数据的操作命令
1)将string类型的数据类型设置到redis中:set key keyvalue
set zsname zhangsan
set zsage 20
如果key已经存在了,则后来的value会把以前的value覆盖掉
2)从redis中获取string类型的数据:get key
get zsname
get zsage
3)追加字符串:append key value 返回追加之后的字符串长度,如果可以不存在,则新建一个key,并把value值设置进去
set phone 149990
append phone 123
4)获取字符串数据的长度:strlen key
5)将字符串数值进行加1运算:incr key
|->返回加一后的数据
|->如果key不存在,首先设置一个key,初始值为0,然后ince运算
|->要求:key所表示的value必须是数值,否则报错
6)将字符串数值进行加1运算:decr key
|->返回减一后的数据
|->如果key不存在,首先设置一个key,初始值为0,然后ince运算
|->要求:key所表示的value必须是数值,否则报错
7)将字符串数值进行加offset运算:incrby key offset
|->返回加offset后的数据
|->如果key不存在,首先设置一个key,初始值为0,然后incrby运算
|->要求:key所表示的value必须是数值,否则报错
incrby zszge 10
8)将字符串数值进行加offset运算:decrby key offset
|->返回减offset后的数据
|->如果key不存在,首先设置一个key,初始值为0,然后decrby运算
|->要求:key所表示的value必须是数值,否则报错
decrby zszge 10
9)获取字符串中的子字符串:getrange key startindex endindex
10)覆盖字符串:getrange key startindex value 用value来覆盖startindex下标开始的的字符串
11)设置字符串数据的同时,设置它的最大生命周期:setex key seconds value
setex temp 5 1
12)设置string类型的数据value到数据库中,当key不存在时设置成功,否则放弃设置:setnx key value
13)批量将string类型的数据设置到redis中:mset key2 value1 key2 value2 ...
14)批量获取:mget key1 key2 key3...
15)批量设置,当所有key都不存在时设置成功,只要有一个已经存在就放弃:msetnx key1 value1 key2 value2....
3、redis中关于list类型数据的操作命令 单key 多valu有序
1)将一个或是多个值依次插入列表的表头(左侧):lpush key value ...
lpush list01 1 2 3 === list[3,2,1]
2)获取指定列表中的元素,lrange key startindex endindex
lrange list01 1 3
3)将一个或是多个值依次插入列表的表尾(右侧):rpush key value.....
4)移除指定列表数据表头,并返回表头元素(只是删掉了表头):lpop key
5)移除指定列表数据表尾,并返回表尾元素(只是删掉了表尾):rpop key
6)获取列表指定下标的元素:lindex key index
7)获取指定列表的长度:llen key
8)移除列表中某些数据:lrem key count value
->count>0:从表头位置移除count个和value相等的是数据
->count<0:从表尾位置移除count个和value相等的是数据
4、redis中关于set类型数据的操作命令:单key 多value无序 不重复
1)将一个或多个元素添加到集合中:sadd key value ....
如果元素已经存在,则会忽略放入
返回成功加入元素的个数
sadd set01 a b b c 结果:a b c
2)获取指定结合的所有元素:smembers key
3)判断指定元素在指定集合中是否存在:sismember key vlaue
*存在,返回1
*不存在,返回0
4)获取指定集合的长度:scard key
5)移除指定集合中一个或多个元素:srem key member ...
*返回成功移除的个数
6)随机获取指定集合中的一个或多个元素:srandember key count
->count > 0:随机获取的多个元素不能重复
->count < 0:随机获取的多个元素可能重复
->不加count,默认获取一个元素
7)随机从指定集合移除一个或多个元素:spop key count
8)将指定集合中的指定元素移动到另一个集合:smove source dest member
smove set01 set02 a
9)获取第一个集合中有,其他集合中没有的元素组成的新集合(差集):sdiff key1 kye2 ...
10)获取所有指定集合中都有的元素组成的新集合(交集):sinter key1 key2....
11)获取所有指定集合所有元素组成的集合(并集):sunion key1 key2 ....
5、redis中关于hash类型数据的操作命令:单key,
1)将一个或多个field-value对设置到哈希表中:hset key field1 value field2 value
hset student01 id 1001 name zhangsan age 20
2)获取指定哈希表中指定哈希表中指定filed的值:hget key field
hget student01 name
3)批量设置将多个field-value对设置到哈希表中:hmset key field 1 value1....
*如果key field已经存在,则会覆盖
4)批量获取指定哈希表中的field的值:hmget key field1 field2 field3....
5)获取指定哈希表中所有的field和value:hgetall key
6)从指定哈希表中删除一个或者多个field:hdel key field1 field2
7)获取指定哈希表中所有的field个数:hlen key
8)判断指定哈希表中是否存在某一个field:hexists key field
9)获取指定哈希表值所有的field列表:hkeys:key
10)获取指定哈希表值所有的value列表:hvals:key
11)对指定哈希表中指定的field值进行加法(整数)运算:hincrby key field int
12)对指定哈希表中指定的field值进行加法(浮点数)运算:hincrbyfloat key field float
13)将一个filed-value对设置到哈希表中,当key-field已经存在是,放弃设置;否则设置
6、rdis中关于zset类型数据的操作命令
redis中关于zset类型数据的操作命令:有序集合,本质上是集合,所有元素不能重复
每一个元素都关联一个分数,redis会根据分数对元素进行自动排序
分数可以重复
有序集合中元素的排序规则和列表中的排序规则不一样
1)将一个或者多个member及其分数值加入有序集合(必须关联分数,不然加不进):zadd key score member
*如果元素已经存在,则把分数覆盖掉
zadd zset01 20 z1 30 z2 50 z3 40 z4 分数的确定与业务有关
2)获取指定有序集合中指定下标的元素:zrange key startIndex endIndex
zrange zset01 0 -1
zrange zset01 0 -1 withscores 可以同时显示分数
3)获取指定有序集合中指定分数区间的元素:zrangebyscore key min max withscores
4)删除指定有序集合中一个或多个元素:zrem key mermber1 member2...
5)获取指定有序集合中所有元素的个数:zcard key
6)获取指定有序集合中指定元素的排名: zrank key member
7)获取指定有序集合中指定分数在指定区间内的个数:zcount key min max
8)获取指定有序集合中指定元素的分数:zscor key member
9)获取指定有序集合中指定元素的排名(按分数从大到小):zrevrank key member
,